To take part in discussions on talkSFU, please apply for membership (SFU email id required).

best programming language to learn??

edited June 2008 in General
I would like to know what programming language would be the best to learn for a beginner.

My computer proficiency and learning skills aren't really a factor, I'm quite good with computers and I learn stuff rather fast. Also, I'm familiar with basic HTML, although I don't think that makes a difference.

Another request: Please tell me if it is possible to program games in whatever language you recommend. lol

Comments

  • edited October 2006
    start with C
    and upgrade to C+ then C++
    and never give up
  • edited October 2006
    One of the most fundamental programming languages everyone should know is html. It is widely used throughout the internet and gives you an advantage. C++ is good but CSS is the new wave of programming language that everyone is excited about. It allows you to create nicer and tighter web pages with the ability to add features that used to be impossible. I am not in any computing science classes, but am very interested in computers so that is just my 2 cents.
  • edited October 2006
    Bassoony said:
    start with C
    and upgrade to C+ then C++
    and never give up
    I don't recall there being a C+.. What year did that come out?

    Anyways, I would learn C/C++. Invest a lot of time into the boring details of each. I wouldn't go running around trying to write 3d games or entertainment software, since they tend to be a giant lead forward. I would start by learning the basics, syntax, semantics, how to do basic mathematics.

    I would then move onto some higher level mathematics, since this will get you into the mindset of most programming projects.
  • edited October 2006
    Learn perl... it is dead useful for any kind of automation or anything like that...
    Learn c and if you want c++, I can acomplish most tasks I can't acomplish in perl, with c and rarely do work in c++
    Python is ok, but I think i missed that...
    PHP, is super cool and awesome for web stuff
    Java... well it sucks... really really really sucks... don't bother with it
  • edited October 2006
    well if u r creative u can also show ur creativity through flas and photoshop but if u want to be a fornal programmer then deffinately u should start with c.
  • edited June 2008
    Java is good for small tasks but too slow to do anything worth while.

    C/C++ is the way to go.

    PHP and MySQL for webstuff.

    Or just have fun and learn Python.
  • edited June 2008
    da_prodigy;795 said:
    One of the most fundamental programming languages everyone should know is html. It is widely used throughout the internet and gives you an advantage. C++ is good but CSS is the new wave of programming language that everyone is excited about. It allows you to create nicer and tighter web pages with the ability to add features that used to be impossible. I am not in any computing science classes, but am very interested in computers so that is just my 2 cents.
    HTML is a Markup Language
    CSS is a Style Language
  • edited June 2008
    da_prodigy;795 said:
    One of the most fundamental programming languages everyone should know is html. It is widely used throughout the internet and gives you an advantage. C++ is good but CSS is the new wave of programming language that everyone is excited about. It allows you to create nicer and tighter web pages with the ability to add features that used to be impossible. I am not in any computing science classes, but am very interested in computers so that is just my 2 cents.
    I was about to laugh. I thought you were joking? HTML & CSS are hardly programming languages, but are indeed useful if you're into web design.

    C++ was my first language, but in hindsight, it probably isn't the easiest to learn. I'm kind of tempted to recommend C#. It's probably easier to learn, much more friendly to program in, tons of libraries and stuff built right in so that you don't have to fiddle with 3rd party libraries or random container classes. Plus, it's excellent for form applications. You can write a nice user interface in minutes, whereas with C++, you probably don't even want to go there. It gets pretty ugly.

    For games though, C++. I currently recommend C++ and OpenGL w/ glfw for graphics/user input. Still looking for a nice audio library though. Perhaps Qt for user interface.

    But again, probably shouldn't jump right into games. But if that's really your thing, GameDev.net is probably your friend. They teach programming through game development.

    You can also get the jump on us all by learning D. I haven't played with it much, but it looks very pretty. Takes the best features from C/C++/Java. Of course, there's much less support for that as it's a relatively new language.

    I still dislike Python for it's lack of braces, and ambiguity towards semi-colins. Just doesn't feel like a true programming language. Seems only good for short programs. But it is probably one of the easier languages to pick up.

    PHP is the *only* language I'd consider for web programming. But... again, this is quite different from C++/Java.

    Java... I don't know. Java has garbage collection, which is nice when you're lazy, and it's also cross-platform. It's probably also easier to deal with multiple files when you're writing a larger program because you don't have to fight with headers/cpps of everything. So, perhaps a little more friendly than C++ but I'm not sure when I'd ever use it for a real application.

    So, let's sum up here.


    PHP for server-side web programming.
    JavaScript for client-side web programming.
    C++ for games and where speed is important.
    C for cell phones and portable devices.
    Java for nothing.
    Python for nothing.
    Matlab for prototyping or lengthy computations.
    C# for form-based applications. Basically, little user-friendly tools.
    D if you're feeling frisky and cutting-edge.
    ASM if you're insane.
    Brainfuck if... you want to fuck your brain.

    I think that about sums it up.... let me know if I missed any languages. I've dealt with most of them.. well... not Pearl/Pascal/Lisp. I hear good things about Pearl but never looked into it. Lisp/Pascal I heard was nasty. There's also Ada, which I've never used. I don't know what benefits it might have, but it's syntax looks nasty. And there's also ASP.net which might substitute PHP, but PHP has served me just fine and ASP is Microsoft, so it automatically loses points for that (although I admit they did a fine job of C#).
  • edited June 2008
    I think you've overlooked the value of Java. It's cross platform, which is why programs like Limewire and Azureus work on Windows, Mac, Linux, or anything that supports java. On the downside, Java is slow compared to C++.

    Also, Python is a good scripting language. Google uses it, so it can't be that bad.
  • edited June 2008
    I mentioned that it was cross platform :p

    Of course, if you coded your C++ program properly, you could quite easily recompile it for linux/mac. Almost all my C++ programs are cross platform. Just have to be careful to use cross-platform libraries.

    What does Google use python for?
  • edited June 2008
    Wikipedia" said:
    Google uses Python for many tasks including the backends of web apps such as Google Groups, Gmail, and Google Maps, as well as for some of its search-engine internals.
    I use python for my "just for fun" coding, and usually C/C++/Java for more serious stuff.

    It's true that, by using cross platform libs, you can write portable C++ applications. However, those libs still have to be rewritten by someone for each platform. With Java, the interpreter is the only thing that has to be platform-dependent.
  • edited June 2008
    ralph2087;31839 said:

    PHP for server-side web programming.
    JavaScript for client-side web programming.
    C++ for games and where speed is important.
    C for cell phones and portable devices.
    Java for nothing.
    Python for nothing.
    Matlab for prototyping or lengthy computations.
    C# for form-based applications. Basically, little user-friendly tools.
    D if you're feeling frisky and cutting-edge.
    ASM if you're insane.
    Brainfuck if... you want to fuck your brain.
    wow brainfuck is epic! :thumbs_up:

Leave a Comment