Discussion in 'General Discussion' started by Utumno, Jul 29, 2020 at 4:32 PM.
ok so searyx is project lead on account of his enthusiasm congrats pal
PHOTO © ROY CORRAL
from your lack of reply i get the sense you're not interested or dont have time/energy for it, but tzt could probably give curricular direction pretty easily, and money isn't really needed; i own a lot of programming books but never look at any of them -- all the languages & help you need are freely available online. can't create time for you but those first two seem easy enough to fix
a good start is something like:
- probably start with a high-level language. python is especially beginner-friendly. C# in Unity is also OK if you want to learn while making games rather than more in the abstract on the command line
- learn how to print shit to STDOUT. look up what STDOUT is. also learn how to do basic file operations (open/read/write/append from/to)
- learn the basic data types available in whichever language you're using (e.g., float vs string vs bool vs lists vs tuples vs dicts etc in python), and understand how conversion between data types works in your language
- learn basic control structures (if/then/else, while & for loops)
- learn how to create functions + learn some basic uses for recursion
- learn how to create classes + learn some basic uses for class inheritance
- practice with some of the most common standard libraries/data structures made pre-available in your language of choice. e.g., it is good to have a sense of what is in python's math and collections libraries
- learn how to use a few basic functional programming operators, especially map
that's really all the foundational stuff, i think, and the functional one is optional rlly. with those basics, there are then lots of different things you can learn depending on what interests you
- if you want to better understand how things work under the hood, learn some C++, to pick up some understanding of passing by value vs passing by reference, and how memory allocation/de-allocation & pointers work in languages that don't do garbage collection for you
- learn how exceptions/raising of errors yourself works. really this is important enough that i'd almost call it foundational; it *is* foundational if you end up trying to get a job w/ other people and not just working on your own stuff
- CSS and other gay internet stuff if you want to do gay web development
- science & math stuff, focusing on the use of particular important libraries like numpy, if you want to do science & math stuff
- learn some asynch / parallel programming examples in your language(s)
- study whatever particular libraries & languages are used by software that interests you (e.g., Blender for 3D modeling uses python; Unity for games uses C#; Unreal Engine for games uses C++), looking up online what the major differences are b/w them and languages you're familiar w/, and googling examples of what you want to do in them to help you along
- how to work (in a team or otherwise) w/ fancy version control software like git
- etc etc
Have you tried not being poor? Or maybe don't spend extra money watching Star War at the drive in movie theater.
Did Disney give up on making new Star War franchise films?
Everything you posted here is legitimate, but it's a daunting wall of text that I'd be completely turned off by if I was new to the field.
I found that I did better when I wasn't even specifically trying to learn. I started using photoshop because I wanted to make George Bush look like an idiot. Eventually I did get into more structured learning, but that wasn't how I got into it.
My first thing in Unity/C# was to make a guy run and jump like Mario. In the process, I brushed up on a laundry list of OOP fundamentals, but it was really just "make guy run and jump". If I was Aro I'd start with a simple clear achievable goal that will be rewarding for him, like bringing one of his MSPaint classics to life. It'll snowball from there if you're having fun.
i think it'd be fine to instead learn mostly by trying to game jam little games together or something. i was just jotting down a sort of high-level "syllabus", since aro specifically mentioned not having "curricular direction"
for doing it game-jam style, i think it might be easier for most absolute beginners to follow along with one of the step-by-step youtube tutorials for building a simple game as a first learning experience, rather than just jumping in and doing their own thing from the get-go
The fans will never be happy with any new Star Wars movie and Disney also shit the bed hard with the new trilogy so they shelved it for now.
I've said it once before but if you are reading this Disney please just make a 90 min movie with Big Vader going down a really long hallway
30 mins in he takes a grazing blaster shot on his shoulder and he gets super pissed
There are plenty of online intro programming courses on e.g. Coursera, EdX also. The good ones should help you set everything up and shouldn't require much prior knowledge.
A lot of people who even have a comfortable surface knowledge in computers don't understand what you guys are talking about software wise
Like, explain in basic layman terms what different codes do and how markup language logic works etc, when you explain it as you describe the things to learn it helps to comprehend the parameters you're working within
they are technically all programming languages but some are used for data sets like Agrul said
a lot of code languages overlap in areas where one code language is superior etc
Difference Between Programming, Scripting, and Markup Languages
When it comes to making a website or app coding involves basically three types of languages i.e the programming language, Scripting Language and Markup Language.
There are a lot of people who consider coding as just developing or making a website but they need to understand every single language fits into a particular category and we need to know which category that language fits into. We will discuss in detail about the difference between these three main categories or pillars of a website or an app i.e. Programming language, Scripting Language and Markup Language.
Programming language: In simple terms, programming languages are set of instructions or code which tells a computer what it needs to do. So basically, we provide a logic or instruction to the computer to perform some task to get the desired output from it. When we need to write a CD or burn a CD or when we need to paste something in pen drive these all instruction is given through some software which involves some instructions or set of code and this software communicate to the hardware. Programming languages are high-level languages that need to be converted into machine level language because a computer can only understand machine level language or binary language (0 and 1). So we write the instructions in human-readable form and then we hit the compile button to convert this into machine level language which a computer can understand and then the computer performs the task. This conversion is done by the compiler which scans the complete code in one go and if it finds any error it immediately throws all errors. Examples are Java, C, C++, C#. Programming languages are most widely used to make software or drivers.
Markup Languages: Markup languages are completely different from programming languages and scripting languages. Markup languages prepare a structure for the data or prepare the look or design of a page. These are presentational languages and it doesn’t include any kind of logic or algorithm, for example, HTML. HTML is not asking any kind of question to the computer or it’s not comparing things and it’s not asking any logical question. It’s just used to represent a view inside a web browser. It tells the browser how to structure data for a specific page, layout, headings, title, table and all or styling a page in a particular way. So basically it involves formatting data or it controls the presentation of data. Examples of Markup languages are HTML, CSS or XML. These languages are most widely used to design a website.
In computer programming, machine code, consisting of machine language instructions, is a low-level programming language used to directly control a computer's central processing unit (CPU). Each instruction causes the CPU to perform a very specific task, such as a load, a store, a jump, or an arithmetic logic unit (ALU) operation on one or more units of data in the CPU's registers or memory.
Machine code is a strictly numerical language which is intended to run as fast as possible, and may be regarded as the lowest-level representation of a compiled or assembled computer program or as a primitive and hardware-dependent programming language. While it is possible to write programs directly in machine code, managing individual bits and calculating numerical addresses and constants manually is tedious and error-prone. For this reason, programs are very rarely written directly in machine code in modern contexts, but may be done for low level debugging, program patching (especially when assembler source is not available) and assembly language disassembly.
The overwhelming majority of practical programs today are written in higher-level languages or assembly language. The source code is then translated to executable machine code by utilities such as compilers, assemblers, and linkers, with the important exception of interpreted programs, which are not translated into machine code. However, the interpreter itself, which may be seen as an executor or processor performing the instructions of the source code, typically consists of directly executable machine code (generated from assembly or high-level language source code).
Machine code is by definition the lowest level of programming detail visible to the programmer, but internally many processors use microcode or optimise and transform machine code instructions into sequences of micro-ops. This is not generally considered to be a machine code.
In computer programming, assembly language (or assembler language), often abbreviated asm, is any low-level programming language in which there is a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Because assembly depends on the machine code instructions, every assembler has its own assembly language which is designed for exactly one specific computer architecture. Assembly language may also be called symbolic machine code.
Assembly code is converted into executable machine code by a utility program referred to as an assembler. The conversion process is referred to as assembly, as in assembling the source code. Assembly language usually has one statement per machine instruction (1:1), but comments and statements that are assembler directives, macros, and symbolic labels of program and memory locations are often also supported.
The term "assembler" is generally attributed to Wilkes, Wheeler and Gill in their 1951 book The preparation of programs for an electronic digital computer, who, however, used the term to mean "a program that assembles another program consisting of several sections into a single program".
Each assembly language is specific to a particular computer architecture and sometimes to an operating system. However, some assembly languages do not provide specific syntax for operating system calls, and most assembly languages can be used universally with any operating system, as the language provides access to all the real capabilities of the processor, upon which all system call mechanisms ultimately rest. In contrast to assembly languages, most high-level programming languages are generally portable across multiple architectures but require interpreting or compiling, a much more complicated task than assembling.
The computational step when an assembler is processing a program is called assembly time.
Difference Between Assembly Language and Machine Language
In this article, we will discuss in detail about assembly language vs machine language. Machine language is a language that has a binary form. It can be directly executed by a computer. While an assembly language is a low-level programming language that requires software called an assembler to convert it into machine code.
The programming language is a set of instructions, in order to make a computer understand to perform a specific task or create an algorithm. There is huge variety of programming languages available nowadays like C, C++, COBOL, Java, Python, Fortran, Ada, and Pascal.
All programming language has some primitive building blocks which are known as syntax. These syntaxes of languages are textual. Primitives are combined by programmers to compose new programs.
Programming language broadly categorized into 3 categories:
High-level programming language
A high-level language is easy for programmers to write as well as to understand. Programmers here use simple and easy syntax to address a specific task. Examples: Python, C, C++, etc. These syntaxes can’t be understood by CPU; hence it gets converted internally to binary which CPU can understand by the medium of compiler and interpreter.
Assembly language falls between a high-level programming language and Machine language. it has syntaxes similar to English, but more difficult than high-level programming languages. To program in assembly language, one should have understood at hardware level like computer architecture, registers, etc. This kind of programming is mostly seen in the embedded systems.
An example is given below,
ADD R1, R2
Machine language is the binary language that is easily understood by computers. Hence it can be directly executed by CPU with absolutely no need of compilers and interpreters.
The figure shown above represents machine language, assembly language and high-level language is clear form.
Represents a 12-bit machine language instruction. This instruction is divided into two parts: An operation code (or op code) and an operand.
Op code is 001, Operand is 010001110.
Along with remembering the dozens of code numbers for the operations, the programmer also has to keep track of the addresses for all the data items. Hence, Machine language is considered challenging and error-prone.
Head to Head Comparison between Assembly Language and Machine Language (Infographics)
Below is the top 7 difference between Assembly Language vs Machine Language.
You can actually get games to learn the concepts of this
Most Zachtronic games use programming logic
(Zachtronic games generally require you to read a manual and learn as you progress)
Simple academic explanation:
All of those languages mentioned are known as formal languages (=computer interpretable, has precise structure/syntax). If a language can make the computer do arbitrary calculations & logic, it's usually called a programming language. Some, like HTML, can only do specialized stuff (like show text in a browser), so are formal languages, but not what people call programming languages.
However, a computer only speaks in the assembly language (can be considered machine code), so is hard to work in for humans. This is why people have invented other human-friendly languages, who run on top of it. To make a computer do anything in any other such programming language, it of course needs to be automatically translated to assembly behind the curtains. They do this in several ways, but all of them are arguably programming languages.
Technical explanation: Early programming languages were translated in advance to assembly (C/C++), known as compiling the program. Scripting (interpreted) languages instead do the compilation line-by-line as it runs in an interpreter program. It basically takes the line and looks up the corresponding assembly. This requires no compilation step, but the interpreter makes it run slower.
Separate names with a comma.