Does computer programming seems completely alien to you?

i mean, i used to work in a tech startup and without knowing a single line of code.

but really, i have always felt that people who can code and write webpage, apps, GAMES, Pixar movies, software, and programme that controls your smartphone, playstation, and every single thing that uses a software, or even the people who can use grahics software that create all the graphical stuff that appears on your screen, these people are just so completely beyond my comprehension.

I mean, how can these people learn and remember and then apply all these codes and skills which makes absolutely no sense to a normal person?
It's completely alien, they are literally speaking languages which cannot be understood by human, to a thing that is not a human, and making it do all these wonderful things, it just boggles the mind.
I mean, every other profession, I have at least SOME idea of how they do their job, but programmers, they are like a completely different species to me.


0|0
0|3

Most Helpful Guy

  • Actually, your assumption that programming languages are incomprehensible to human beings is incorrect to a certain extent; the code itself that can be interpreted by the computer is 10100010111010111 like that which is then translated to operations in the hardware by the CPU, but humans aren't writing that type of code by hand. They're writing code in Assembly, C, C++, Java, Python, JavaScript, Lua, etc etc.

    While Assembly code is very low level (they're essentially mnemonics that represent operations in bytes, like JUMP TO ADDRESS IF NOT ZERO, or ADD NUMBER TO THE NUMBER IN REGISTER, etc), the other languages I mentioned were designed to be understood and written by humans; and it is the "compiler" which translates these languages to a language that can be interpreted by the computer (to code that's similar to Assembly, just in bytes, or bytecode in the case of Java)..

    So, for example, I'm primarily working as a Java developer, and writing servers with the help of the Spring Framework, and I also develop for Android. But when it comes down to actually writing code, considering that Java is an "imperative language", every single step that happens is something that either you wrote down, or something that whoever wrote that piece of code you're invoking wrote down.

    In the end, for Java and Javascript and C (so basically most common languages that aren't Erlang, Prolog, etc. anything declarative), all you need to know is the steps that you wish to have executed, and you write it down.

    Typically the basic operations that you can do is either branching (if-else-if-else), loops (execute this code N times), or just operate with data you have.

    And after those basic operations, people have figured out certain "programming paradigms" that help you organize your step-by-step approach a bit better, which is why OOP (Object Oriented Programming) was created, which is typically the most common approach - which is that you think of everything in your code as "an object that you can do stuff with, which also tells other things to do stuff".

    You can look up some basic OOP stuff here: docs.oracle.com/javase/tutorial/java/concepts/

    By the way, at the very bottom of everything, when you see something really fancy, there's probably a whole bunch of math involved. Animations you take for granted are described with essentially coordinate geometry and algebra, and interpolation of states step-by-step along time. It's pretty cool.

    As for graphic stuff; I have no idea. I'm not a graphics artist. :p

    1|0
    0|0
    • The people who write compilers though, or those who created the Java Virtual Machine: those people are unknown to me as well. Those people must be hella weird, man.

    • Show All
    • so does that mean the game programmers nowadays are smarter than those in the old days? or do they just have more people and money doing similar tasks which are no more difficult than in the 90's?

      Would it be like comparing Bill Gates to Mark Zuckerberg, in that they both did something equally amazing and unprecedented and they did better than everyone else with the tools they had at the time?

    • "Smarter" well to be honest, if you think of Elite from 1984 ( static1.gamespot.com/.../...3-1775739520-6108-.jpg ), they coded 3D graphics and fairly complex-looking game mechanics in pure ASM (step by step, no fancy programming language with loops or anything), every instance of math is calculated step by step by hand. That's pretty rad.

      I would say the skill set required to make today's games is VERY different from back then; the high tier math is implemented by the Game Engine (which still must be written by someone), and tthe models must be drawn, they must be animated, you also need to create the music, textures, assets of any kind; and you must also create the content itself... look for errors and glitches what didn't go the way it should have, etc. It is not a job that is meant for one or two people, which is why there is an industry with LOTS of people creating the "AAA" high-tier games that come out.

      It is not really a question of smartness, but of skills and talents.

What Girls Said 0

No girls shared opinions.

What Guys Said 2

  • A computer doesn't understand English commands but needs a few of its own languages.
    Programming is a logical mix of symbols, grammar, 'vocabulary" like any language.

    See it like using a foreign language to write mathematical formulas, knowing which formula is the best to reach your aim.

    @mesonfielde @Mesonfielde will explain it better.

    0|0
    0|0
  • it's really not that hard to get the basics. of course, you don't program a big game like Final Fantasy all by yourself (and programming code is just one part of it), but making a basic website or small, simple software is something everyone can learn quickly if they want.

    0|0
    0|0
Loading...