Page 1 of 2
1
2
LastLast
  1. #1

    What computer language should I learn?

    Yep. My only experience with programming is Matlab (I'm studying to be a mechanical engineer) but I'd like to get more experience in it. I'm looking for something that will be useful and fairly common. So, what language would you recommend I learn and why?

    I work a good bit in excel and would like to learn the macro system (I don't know much about it). It says something about visual basic, so that's where I thought I would start. But asking here first.

  2. #2
    The Patient -Atlass-'s Avatar
    10+ Year Old Account
    Join Date
    Jan 2010
    Location
    Mississippi - US
    Posts
    339
    Visual Basic is well... pretty basic. Not too many people I know use this as their mainstream language but it's very easy to learn and wouldn't be a huge issue to learn. I would recommend learning C++ as it is a very good base to build off of.

  3. #3
    Scarab Lord Djinni's Avatar
    10+ Year Old Account
    Join Date
    May 2009
    Location
    West Sussex, UK
    Posts
    4,232
    Visual Basic.NET - used by Excel.
    Java - help with some of those interfaces you might like to do
    Basic HTML - Not really a language in itself but yeah... will sure help with some of those interfaces you might like to do.

    C/C#/C++ will all be very useful languages to have at least a basic understanding of, lots of operating systems and configuration scripts are written in C.

    In order of "usefulness"
    Java,
    HTML,
    C/C#/C++ (3 different languages by the way)
    VB.NET

    Visual Basic .NET is form based...

  4. #4
    Learn something practical and multi-platform, like Python, Perl or Java. Stay away from the microsoft stuff, vendor lock-in is not your friend.

  5. #5
    Deleted
    From what I know, Python is often used for working with graphics. And considering you're studying to become an mechanical engineer, won't you be using programs like AutoCAD?

    I might be COMPLETELY wrong, however.

  6. #6
    I agree, I would start with Java and then go from there

  7. #7
    Quote Originally Posted by Abackus View Post
    Stay away from the microsoft stuff, vendor lock-in is not your friend.
    Ah, don't be afraid! Take a leap into the ecosystem and let it delight you! Visual Studio is the best IDE for development, no competition there, and vendor lock-in is not that bad when that vendor is used pretty much everywhere.

    @OP, you can go the Microsoft way by choosing C#, or go the "other way" by choosing Java. Both are very useful and common.

    I wouldn't suggest Visual Basic. It was developed to be easily learned by beginners, but it differs from the real languages so much that there's tons to re-learn later on. Java and C# are both derived from C++ however and knowing one it's quite easy to pick up the other. I wouldn't suggest C++ either, unless you want to do game development. While all the old programmers stand by it, software development is done differently today than it was 10 years ago. We cba with low-level stuff anymore and development efficiency is prioritized over how many CPU cycles your code needs. Unless again you're developing games, where performance is of the utmost importance.

    So pros/cons:

    Visual Basic
    + easy to learn
    - "beginner" language
    - not used much

    C#
    + Visual Studio
    + very powerful
    - Microsoft-specific

    Java
    + very powerful
    + used everywhere

    C++
    + great performance
    - more complex to develop
    - less forgiving
    Last edited by Fraza; 2011-07-14 at 08:00 PM.

  8. #8
    Quote Originally Posted by Synthaxx View Post
    Object Pascal, aka Delphi. Very easy to get to grips with, and with the right compiler, multiplatform too (built in one for Windows, Kylix for Linux). It's powerful and very good for utility apps. Admittedly, it's not the most powerful language out there, but it certainly is a great place to start.

    Personally, for things that would take a long time to code in Delphi or are just rather complex to do that way, i'll just run them through a batch file and then call that from the app.

    As for threading in delphi, it used to be a pain in the ass to do. Nowadays though, there's components out there that you can just drop onto your applications interface, and set a "on execute" procedure that will run that code in it's own thread. This way, if i need to remove certain different text from different files, i can create one thread per file and NOT have to worry about it not saving the file if it was all running in serial (because unless you tell it to pause for a second to allow Windows time to save the file, it won't be saved and will infact likely screw the whole file up).
    LOL.. i bet you just scared the OP away from Delphi

  9. #9
    Start from Python. It's fairly easy to read and write, and used everywhere and for everything except the most tightly optimized code.

    Learning Java first will be big mistake because the language is extremely beginner-unfriendly and has some design stupidities, C and C++ are even worse in that.
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  10. #10
    Epic! Skelly's Avatar
    10+ Year Old Account
    Join Date
    Apr 2011
    Location
    Haligonia, NS, Canada
    Posts
    1,676
    E-mail a few profs and ask them. I'm a physics major and in our department people use everything from C to Pearl to LabView. But everyone in the department knows how to use Python, and I would say about 50% of the department uses it regularly to code.
    i7 930 @ 4.0Ghz | Sapphire HD5970 w/ Accelero Xtreme | ASUS P6X58D Premium | 32GB Kingston DDR3-1600
    Xonar Essence STX | 128GB Vertex 4 | AX750 | Xigmatek Elysium
    Laing D5 | XSPC RX 360mm | Koolance RP-452X2 | EK-Supreme HF
    Dell 3007WFP-HC | Samsung BX2350 | Das Keyboard Model S Ultimate | Razer Naga Molten | Sennheiser HD650

  11. #11
    Quote Originally Posted by Whyhello View Post
    Yep. My only experience with programming is Matlab (I'm studying to be a mechanical engineer) but I'd like to get more experience in it. I'm looking for something that will be useful and fairly common. So, what language would you recommend I learn and why?

    I work a good bit in excel and would like to learn the macro system (I don't know much about it). It says something about visual basic, so that's where I thought I would start. But asking here first.
    Honestly it depends on what you want to do with the programming language. That said, as someone has already noted there are 2 main programming languages being used for development right now: Java and C#. While it is useful to know other languages if you are just starting out you should go for one of those languages. You can branch off from there later.

  12. #12
    Java (EE) is more or less the most used language in corporate world now. It's also easily one of the easiest languages to get started with.

    I'd really recommend starting with Java.

    A quick Hello World tutorial for the Netbeans IDE:
    http://download.oracle.com/javase/tu.../netbeans.html

    ---------- Post added 2011-07-15 at 09:03 AM ----------

    Quote Originally Posted by vesseblah View Post
    Start from Python. It's fairly easy to read and write, and used everywhere and for everything except the most tightly optimized code.

    Learning Java first will be big mistake because the language is extremely beginner-unfriendly and has some design stupidities, C and C++ are even worse in that.
    Only thing about Java that really is beginner-unfriendly is that it's object-oriented, and I don't consider that as any kind of con. It's better to learn do it the right way from the beginning.

  13. #13
    +1 for Java.
    Computer: Intel I7-3770k @ 4.5GHz | 16GB 1600MHz DDR3 RAM | AMD 7970 GHz @ 1200/1600 | ASUS Z77-V PRO Mobo|

  14. #14
    Quote Originally Posted by Abackus View Post
    Learn something practical and multi-platform, like Python, Perl or Java. Stay away from the microsoft stuff, vendor lock-in is not your friend.
    So very much this. [+100]

  15. #15
    Quote Originally Posted by Hinaaja View Post
    Only thing about Java that really is beginner-unfriendly is that it's object-oriented, and I don't consider that as any kind of con. It's better to learn do it the right way from the beginning.
    Among many things strong typing & type conversion issues, being hard to read by human and misleading/confusing compiler/runtime error messages is why it's beginner unfriendly. It has got nothing to do with OO.
    Never going to log into this garbage forum again as long as calling obvious troll obvious troll is the easiest way to get banned.
    Trolling should be.

  16. #16
    Quote Originally Posted by vesseblah View Post
    Among many things strong typing & type conversion issues, being hard to read by human and misleading/confusing compiler/runtime error messages is why it's beginner unfriendly. It has got nothing to do with OO.
    Never had any difficulties with those really, error messages can be a bit cryptic I give you that but both Netbeans and Eclipse have really good debugging tools to trace the problems.

    I mentioned OO because I can imagine it could be a bit strange concept for a complete beginner.

  17. #17
    Quote Originally Posted by Synthaxx View Post
    Object Pascal, aka Delphi. Very easy to get to grips with, and with the right compiler, multiplatform too (built in one for Windows, Kylix for Linux). It's powerful and very good for utility apps. Admittedly, it's not the most powerful language out there, but it certainly is a great place to start.

    Personally, for things that would take a long time to code in Delphi or are just rather complex to do that way, i'll just run them through a batch file and then call that from the app.

    As for threading in delphi, it used to be a pain in the ass to do. Nowadays though, there's components out there that you can just drop onto your applications interface, and set a "on execute" procedure that will run that code in it's own thread. This way, if i need to remove certain different text from different files, i can create one thread per file and NOT have to worry about it not saving the file if it was all running in serial (because unless you tell it to pause for a second to allow Windows time to save the file, it won't be saved and will infact likely screw the whole file up).
    Kylix is still around? I thought Borland abandoned that years ago.

  18. #18
    Ya know... a few years ago, (and for a decade+ prior), I would have automatically suggested C++...

    Now though, having been self employed for a bit, and occasionally looking at job postings, get involved in .NET (C#, VB.NET, ASP.NET, etc.NET heh) instead... I would say 80% of the jobs I saw were .NET related, and 2-4% involved C++... A few Java positions (maybe more than C++, maybe not)...

    I am of course, assuming you want to be employed, and that it'll be in Windows...

    Good luck : )

    I also suggest, and always will, that you take the time to learn from a book (on your own)... Assuming you're interested enough to do that, and if you're not, find another hobby-job : )

    -Alamar

  19. #19
    Borg

    or

    Borg

    or

    Borg

  20. #20
    Epic! Skelly's Avatar
    10+ Year Old Account
    Join Date
    Apr 2011
    Location
    Haligonia, NS, Canada
    Posts
    1,676
    Quote Originally Posted by General_Typhus View Post
    Borg

    or

    Borg

    or

    Borg
    What's that?

    Ohh..

    ?
    i7 930 @ 4.0Ghz | Sapphire HD5970 w/ Accelero Xtreme | ASUS P6X58D Premium | 32GB Kingston DDR3-1600
    Xonar Essence STX | 128GB Vertex 4 | AX750 | Xigmatek Elysium
    Laing D5 | XSPC RX 360mm | Koolance RP-452X2 | EK-Supreme HF
    Dell 3007WFP-HC | Samsung BX2350 | Das Keyboard Model S Ultimate | Razer Naga Molten | Sennheiser HD650

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •