Yoah, let's get started!
Hi, reader!, I've to categorize you sadly ;)!
If you want to learn to code, you might want to read only the first part, and try everything I suggest doing! It might be too much for you to understand in such a short time otherwise!
If you want to enjoy my words, or learn about me, or sth interesting you can boast infront of your friends with ;), you might read all, jump over details ;).
Whaaaat?, Three languages???
Yeah, if you haven't already heard it..., I WANT YOU TO LEARN THREE LANGUAGES AT ONCE, or at least close to one another.
No, I am not insane; (ok, I might be ;D, not because of this), those three languages are NOT THREE PROGRAMMING LANGUAGES.
They have different uses, all of them needed for a program: HTML is for the general layout, CSS specifies the style further, e.g. the colors are defined there. JavaScript is the real programming language, which however luckily can be called (executed) by clicks and motions on the HTML-CSS site, and you can modify this site, too :). So I suggest, you learn a little HTML and CSS (can be written inside a <style></style>-tag, too) first. Then you start with simple things in JavaScript like calling the alert() or confirm() functions, building a small calculator with onclick-Interation, or play with some first local variables. I, at least now, won't explain the JS thing completely to you, you can find good tutorials on the web for that, however I give you this starting point: you know where to start, what you need, and in what order.
You can write HTML, CSS and JavaScript in the text editor of your choice, you need no extra software for it :D. You'll run the code in the browser of your choice :D.
For Windows I'd use Notepad++, for Linux, KDE I am using Kate.
(if you don't know that JavaScript is great ;))
Why JavaScript?
- JavaScript has become a part of the browser war, so big, really big companies are fighting against each other to make their executions as efficient, and secure as possible. In front of over 5 billion users!!! They developed/implemented things like JustInTime-Compilation, so your JavaScript ends up as native code, if it needs to be executed a lot of times. You get nearly as good results as with C, and that in a losely typed (few restrictions on types of objects) language :D.
- Code examples everywhere: you can see the source code of every website with the keys Ctrl+Shift+I/Ctrl+U, and can see their JS, too, so you can find all the things you need, and maybe learn from others a lot, as well :). Plus (nearly) nobody can hide it :D. This is valid for my own website, too, ofc :).
- Help from everywhere: JS is very well known, and there are lots of tutorials, people with questions and more importantly: people with answers!, StackOverflow is a great source of this as well. Besides many nice examples :)
(not for starters, if you haven't C as preference)
Why not C?
It's soo fast, yeah, it is...
But also you've to manage the memory of your constructs yourself, which is no longer the case in many many modern programming languages (python, Java, JavaScript+HTML+CSS, Kotlin, ...). It's just one thing you've to learn less to get really started, and into programming :). Less code also.
(not for starters, if you haven't C++/C# as preference)
Why not C++/C#?
I haven't yet coded with C#, however C++ is very close to C..., so same reasons there. Overall I'd prefer JavaScript over C# for starters without knowing much about C#, because C# needs you to install some programs, and debugging probably is harder, and it probably doesn't run that easily everywhere.
(not for starters, if you haven't Java as preference)
Why not Java?
"running everywhere", since Java had security issues on the web, it's less and less present there, like Flash Player, is often no longer supported, not really likes by users, developers too, because their clients have issues with it. Does it run on my Android phone? No, because it needs to be translated into the DalvikVM, so it's no real Java anymore... . I can't run jar files there, I can't install my Minecraft server, nor Minecraft, no plugins, ...
If you want to code for Android with Android Studio, I wouldn't recommend Java either; besides the long compilation times in both cases, Kotlin is much more beautiful to write <3, :3 :D.
(not for starters, if you haven't python as preference)
Why not python?
You could learn it, if you want it; it's relatively easy to learn. I just dislike two things:
1st: The indentation of lines defines the order of the commands... copy-paste is more error-prone
2nd: Where I could use it, have to use it, Blender, it's really really slow... I read 500 pixels per second of a texture... that's too slow, sorry, python in Blender.
(not for starters)
My first programming languages
I started into the programming world with coding C++, or C11, because I didn't really the advantages of C++ over C.
Then I wanted a GUI, Graphical User Interface, a thing besides the console, you can interact with, however the stuff for C++ was relatively complicated, and it looked like it was somewhat easier in Java. I don't remember exactly, whether I knew at that time, that Minecraft was written in Java, too.
So I coded my first GUI including games there :), and not THAT much later, I discovered Minecraft Forge and Bukkit. The Forge API is very beginner unfriendly, or at least was at that time. The Bukkit API however was really easily learnable, so I coded my first Minecraft plugins, and was happily able to code my ideas into my Minecraft server world :D.
Later I wanted my own website, so I learned HTML and CSS, a little later JavaScript to make my websites interactive, and moving :D.