• I want to learn programming!
    85 replies, posted
Learn C++. Once you learn everything there is to know about it, then PHP, Java, JavaScript, C#, and many others will be very easy to learn.
I would personally say C/C++/Java. If you're not too worried about making games, I reccommend Java. It's portable, and you can make andriod apps with it (maybe make a simple game app?). Also, in the USA java is sought after in many jobs, with a comp sci degree.
I started with Lua and I am currently learning and dicking around with C# and I eventually plan to transition onto C++ starting with Lua made it so much more easy and comfortable to move into something slightly more complicated and what they say about the first language you learn is the hardest is the most accurate statement I think you could ever make.
I often see people coming from Lua and trying to learn C++ with statements like "Why is C++ so crappy and makes me have to do all this [seemingly complicated stuff] when Lua just let's me do [a one-liner]?" It's pretty hard to explain to them why it has to be done that way and they tend to give up on C++ because "Lua is so much better". I'm not sure if I encountered a minority there, but I would not recommend anyone to "spoil" themselves with a very high-level scripting language and then try to (in their eyes) degrade to a lower-level programming language.
[QUOTE=Dienes;42154970]I often see people coming from Lua and trying to learn C++ with statements like "Why is C++ so crappy and makes me have to do all this [seemingly complicated stuff] when Lua just let's me do [a one-liner]?" It's pretty hard to explain to them why it has to be done that way and they tend to give up on C++ because "Lua is so much better". I'm not sure if I encountered a minority there, but I would not recommend anyone to "spoil" themselves with a very high-level scripting language and then try to (in their eyes) degrade to a lower-level programming language.[/QUOTE] jumping into a low level language is almost being smacked with too much at once in my opinion, however that's my opinion. learning lua first and actually acquiring a good way of thinking logically is what allowed me to easily transition into harder languages.
[QUOTE=Johnny Guitar;42155139]jumping into a low level language is almost being smacked with too much at once in my opinion, however that's my opinion. learning lua first and actually acquiring a good way of thinking logically is what allowed me to easily transition into harder languages.[/QUOTE] I agree with this. Programming is much more about learning a specific way of thinking than learning the semantics of language xyz. The semantics shit is what documentation is for. To really learn to program you have to learn to think properly, and when you're getting started it's a lot easier to focus on that if you're using a higher level language. And with something like love you are able to quickly see visible results of the work you're doing which can be good motivation to keep learning.
[QUOTE=KmartSqrl;42155173]I agree with this. Programming is much more about learning a specific way of thinking than learning the semantics of language xyz. The semantics shit is what documentation is for. To really learn to program you have to learn to think properly, and when you're getting started it's a lot easier to focus on that if you're using a higher level language. And with something like love you are able to quickly see visible results of the work you're doing which can be good motivation to keep learning.[/QUOTE] I have to keep documentation open half if not majority of the time I actually program something when I am learning something new or I have not worked with something before, google is honestly the best tool for programming in my opinion but without actually learning process of how to approach something you are truly lost. for example, lets say I want to save an objects location in a 3d view I would look up how to get the position, then arrange the coordinants into an array and then write the array to a file that can be read later. It's just about thinking what you want to do and then going through and learning the steps you have to take. Then remember the individual steps for future application.
[QUOTE=KmartSqrl;42155173]I agree with this. Programming is much more about learning a specific way of thinking than learning the semantics of language xyz. The semantics shit is what documentation is for. To really learn to program you have to learn to think properly, and when you're getting started it's a lot easier to focus on that if you're using a higher level language. And with something like love you are able to quickly see visible results of the work you're doing which can be good motivation to keep learning.[/QUOTE] Sure, but lower-level languages add several layers of those ways of thinking on top of the actual task that is to be done. They then think they have to put twice as much effort into something they could easily achive in their previous language. I understand that any ambitious programmer should think the way you two described, but the truth is that there are many people out there with a different mindset. People who care more about results than design/maintainability/younameit. I encounter them on the internet and even where I work. I am just describing here what I have experienced with other people. And to be honest, I really liked to learn the things low to high, because I need to know what exactly will happen with each bit of code I use to feel comfortable. Higher languages always felt very vague to me because things implicitly just work somehow and I felt like losing control. I guess this again is a topic where everyone has to decide and/or find out what suits them the most. So the answer to "what should I learn first" is rather "check everything out, stick with what you feel most comfortable with".
[IMG]http://pdroms.de/wp-content/uploads/2009/09/20110402_megafuck.png[/IMG]
What other software (like Visual Studio) would you guys recommend using? Are there any others? Are they good?
I personally wouldn't recommend using an IDE because you'll just get used to whichever you use and not even realise cli builds are a thing. Get yourself a nice text editor and learn to use cli tools for your language instead of learning to just click a button that says "run".
[QUOTE=sambooo;42195303]I personally wouldn't recommend using an IDE because you'll just get used to whichever you use and not even realise cli builds are a thing. Get yourself a nice text editor and learn to use cli tools for your language instead of learning to just click a button that says "run".[/QUOTE] you know the tools are there for a reason
If you're building your stuff with a single command then it really doesn't matter if you're pressing up and enter in the command line or f7 in an ide.
[QUOTE=Philly c;42196075]If you're building your stuff with a single command then it really doesn't matter if you're pressing up and enter in the command line or f7 in an ide.[/QUOTE] Besides the fact that when you're on the command line what you're actually doing isn't hidden from you. Typing `javac -cp jars/ -d classes/ src/*.java` makes you far more aware of what is going on that clicking the run button on a new project with the Eclipse defaults, for example. [editline]15th September 2013[/editline] [QUOTE=supersnail11;42195552]you know the tools are there for a reason[/QUOTE] What are you even saying?
[QUOTE=xExigent;42194311]What other software (like Visual Studio) would you guys recommend using? Are there any others? Are they good?[/QUOTE] Don't use Vim or Emacs. They'll grow on you and you won't be able to use any other editors.
[QUOTE=sambooo;42196483]What are you even saying?[/QUOTE] They're there to make your life easier and that's not a bad thing.
[QUOTE=KmartSqrl;42155173]I agree with this. Programming is much more about learning a specific way of thinking than learning the semantics of language xyz. The semantics shit is what documentation is for. To really learn to program you have to learn to think properly, and when you're getting started it's a lot easier to focus on that if you're using a higher level language. And with something like love you are able to quickly see visible results of the work you're doing which can be good motivation to keep learning.[/QUOTE] Of course, learning to program is entirely different from learning a language, just so happens the best way of learning to program also means you'll learn a language At their core all languages operate the same, as far as learning to program is concerned [editline]15th September 2013[/editline] [QUOTE=Johnny Guitar;42155397]I have to keep documentation open half if not majority of the time I actually program something when I am learning something new or I have not worked with something before, google is honestly the best tool for programming in my opinion but without actually learning process of how to approach something you are truly lost. [/QUOTE] Again, that's the difference between learning to program and learning a language. I find with something like GMod stuff in Lua, which from you example sounds like you're doing, I'll always need the documentation open. Same with PHP, but for different reasons. C#, I'll often just remember it, because it's logical, and follows a pattern you can predict. Point is, sometimes you can't program without the documentation, but that doesn't mean you can't program
[QUOTE=supersnail11;42198041]They're there to make your life easier and that's not a bad thing.[/QUOTE] Yes but I mean which tools are you talking about? You can use lots of tools from a terminal, I even said that. [editline]15th September 2013[/editline] The bad thing is throwing yourself into an IDE thening develop baby duck syndrome and waste time trying to navigate your IDE's interface to configure a project or something when you could just set it up more quickly in a terminal. I mean have you ever bothered setting up linking in Visual Studio or anything? It's inefficient as hell to do.
I'd say start with C# as I've found it to be an overall balanced approach at beginning. It's capable of fairly simple structure, it looks nice and organized, and you can study C# source codes/dlls using ILSpy, which I found to be nice. It covers the basics, as basically any well-used language does, so stepping back into C++ is somewhat straight forward given some quirks. But you are using a mac and I have little experience there. Regardless, there's always [url]http://www.stackoverflow.com[/url]. And I recommended this before, but it's nice, if there's a modable game you like, to screw around with it because you might not have to start learning structure, you could try integrals. And lol, I used notepad++ :(
it seems that the master coder OP has dissapeared
[QUOTE=thf;42032510][URL]http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/[/URL][/QUOTE] Nothing wrong with PHP its usually the end user not understanding what its made for or better "when" it was made, I think most of you here were just some sperm when PHP was created, back then it was pretty much the only choice and luckily not so bad after all. I can't stand people complaining about such things, if that dude on the blog doesn't like it he shouldn't use it and just keep his mouth shut. Edit: PHP became what it is because of all the people that so badly wanted OO in it.
[QUOTE=Zeh Matt;42291184]Nothing wrong with PHP its usually the end user not understanding what its made for or better "when" it was made, I think most of you here were just some sperm when PHP was created, back then it was pretty much the only choice and luckily not so bad after all. [B]I can't stand people complaining about such things, if that dude on the blog doesn't like it he shouldn't use it and just keep his mouth shut.[/B] Edit: PHP became what it is because of all the people that so badly wanted OO in it.[/QUOTE] Yes, what right does someone have about formulating a factually supported opinion on their own domain?
Well, google: "I WANT TO LEARN PROGRAMMING, WHAT I SHOULD TO THINK ABOUT?"
[QUOTE=Denis902;42325975]Well, google: "I WANT TO LEARN PROGRAMMING, WHAT I SHOULD TO THINK ABOUT?"[/QUOTE] yeah because fuck posting in a section asking for guidance right?
For someone just getting into actual programming, Python should be a good entry, right? I've messed with HTML a lot and tried a little CSS to make simple websites every now and then but I figure I should get familiar with a programming language. I'm looking at the Google Python Class page and Khan Academy right now and it doesn't look too frightening. As for a purpose for learning it, I'm already interested in web design so I suppose learning it for web development would be useful. It'd be neat to make a small game as well (not expecting it to be visual based). Aside from learning it as a hobby, my only concern was that I've been looking at computer science as a major when I go to a uni/college (particularly UMASS which I hear is good for CS, and I'm an MA resident) but I've never been a star in math and I'm in my senior year of HS right now. I'm sure I'm capable of learning if I have my heart set into it and know that the math will have a purpose in my major, but sitting in a HS math classroom with other uninterested people looking at a slideshow of notes every other day never make much incentive to really learn. I'm hoping to take the Air Force ROTC program while in college and get a pilot slot if possible so CS has made the most sense for me to major in. I guess I should be asking what kind of math I should be making an effort to learn on my own time on Khan Academy to brush up?
[QUOTE=Datas;41984343][url]http://www.codecademy.com/learn[/url][/QUOTE] I may have bumped an old topic, but this website is the best. Thanks so much for posting this! I probably would've gone out and bought a python for dummies book if it wasn't for this.
Sorry, you need to Log In to post a reply to this thread.