Thread: Learn another languge

  1. #1
    Registered User Queatrix's Avatar
    Join Date
    Apr 2005
    Posts
    1,342

    Learn another languge

    I know HTML, some PHP, and of-course C/C++.
    But I want to learn somthing new, I was thinking Java a first, but then I noticed that most people are moving on FROM Java TO C/C++. So that would be going down hill. Does any one know of any other languages that I might want to learn that are more advanced?

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    I think many people these days learn C and/or C++ after Java because they were taught Java first, possibly in school. It is not necessarily "going down hill".

    That said, you might want to try something somewhat radically different, such as a variant of Lisp, or assembly language.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,788
    C# if you want to go Microsoft way
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    – David J. Wheeler

  4. #4
    aoeuhtns
    Join Date
    Jul 2005
    Posts
    581
    Here are two quotes about a language I recommend learning.

    <autrijus> Perl: "Easy things are easy, hard things are possible"
    <autrijus> Haskell: "Hard things are easy, the impossible just happened"
    <Speck> "That's like cheating. It isn't even programming.
    You just tell it what to do and it does it."
    -- My friend upon seeing some Haskell code
    There are 10 types of people in this world, those who cringed when reading the beginning of this sentence and those who salivated to how superior they are for understanding something as simple as binary.

  5. #5
    Registered User
    Join Date
    May 2006
    Posts
    28
    Objective-C, J, Perl

  6. #6
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    Java is very nice to learn. The fact that you have to always write classes in Java forces you to think in a very OO way. The portability factor is also very nice, as is the ease with which to do relatively complicated tasks in C/C++ (ie. multithreading, sockets, etc.). There are down sides to Java as well, but overall it's pretty nifty if you want to make a simple graphical program, albeit it takes a long time to really learn their OO tree of objects although their APIs seem way more documented than most.

    On the flip side, someone suggested assembly, and I would have to agree with that type of idea. And since you want something advanced, that would fit the bill. You pretty much have to handle everything manually, from loops to even unsigned and signed numbers. Everything has to be expressly done by you. By the end of learning it, even if you never use assembly, at the very least your C/C++ code will most likely be very efficient because you'll have a better idea of the relationship between what you write in a high level language and how it gets translated into assembly and ultimately into machine code. This is probably where I started loving bitwise operations. Even if you just write regular programs in assembly using the C standard library functions, you'll still end up learning a heck of a lot imo.

    Overall, I would recommend learning both Java and assembly, albeit obviously probably not at the same time. Java is still being used, but the main competition seems to be either web languages such as PHP and Ruby or the .NET languages.

    I would recommend against C# since it looks like it came about from an ugly cross between C/C++/Java and then some other few horrible languages ran over it and left some bad markings. Nevertheless, it seems to be the main language for .NET, so it might be something you could be interested in.

    I also hate Perl, but that's because it has rediculous syntax.... As the writer of an article on Perl at howstuffworks.com noted, in reference to the Perl variable/value/whatever $#_, "If you like that sort of obtuseness, then you will love PERL."

  7. #7
    Supermassive black hole cboard_member's Avatar
    Join Date
    Jul 2005
    Posts
    1,709
    Ruby's kind of interesting. Oo-oo what about Python? Ada?
    Good class architecture is not like a Swiss Army Knife; it should be more like a well balanced throwing knife.

    - Mike McShaffry

  8. #8
    Its hard... But im here swgh's Avatar
    Join Date
    Apr 2005
    Location
    England
    Posts
    1,688
    Or travel back in time and learn:

    COBOL
    FORTRAN
    Or even B ( which was the language C inherieted some of it's features from )

    Then learn Binary
    Double Helix STL

  9. #9
    Lean Mean Coding Machine KONI's Avatar
    Join Date
    Mar 2007
    Location
    Luxembourg, Europe
    Posts
    444
    You could also forget about learning a new language and learn something that you can use with every language. A few ideas could be:

    - XML: I specialized in Internet markup languages at my university and never regret my decision. There are SO MANY applications of XML, from the common usage for homepages to the more advanced B2B (business to business) applications that a strong background in XML is a strong asset. Furthermore, to get the most out of XML, you should also learn DTD, XML Schema and ofc XSLT.

    - OpenGL: If you're not into 3D graphical applications, then forget OpenGL but if you'd like to try it, I recommend it absolutely. Not only is it usable in nearly any programming language, but the stunning results can be seen in most computer games.

    - Design pattern: Design Pattern is a general repeatable solution to a commonly occurring problem in software design. As such, knowing your design patterns will make you a better coder.

    - Write your own language: Even if this sounds very advanced, writing a simply language (interpretable: easy ... compilable: hard) that lets you write simple programs is the best way to learn the inner workings of your code. You can even implement new datatypes, add functionalities and turn it into your own favorite programming language.

  10. #10
    Registered User Queatrix's Avatar
    Join Date
    Apr 2005
    Posts
    1,342
    What can I download a free assambler?

  11. #11
    Registered User Noir's Avatar
    Join Date
    Mar 2007
    Posts
    218

  12. #12
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Searching the Web might help

    Flat Assembler could be something to consider.

    There is also the option of MIPS assembly, possibly using the SPIM simulator that runs MIPS assembly code. There appears to be quite a fair bit of info online about it, perhaps because it is taught in universities.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  13. #13
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    If you can get Borland's command line tools, you should be able to start with that. It's been a bit since I used it.... but I believe the following should work with it:

    Code:
    .386
    .model flat
    
    public _main
    extrn _printf:near
    
    .data
    	msg db "Hello, World!",10,0
    .code
    _main proc
    	push offset msg
    	call _printf
    	add esp, 4
    	xor eax, eax
    	ret
    _main endp
    end
    Quit simplistic, but it does assemble and run.

  14. #14
    Registered User Queatrix's Avatar
    Join Date
    Apr 2005
    Posts
    1,342
    Asm is "unique", I'll give it a try, thanks.

  15. #15
    Registered User divineleft's Avatar
    Join Date
    Jul 2006
    Posts
    158
    i recommend assembly and python as a scripting language. i use scripts a lot on a day to day basis, it's really handy knowing a quick language

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Looking to learn C++
    By Fuzzy91 in forum C++ Programming
    Replies: 40
    Last Post: 04-13-2006, 02:38 AM
  2. Book for Newbie trying to learn C
    By uthscsa19 in forum C Programming
    Replies: 23
    Last Post: 12-24-2005, 11:02 AM
  3. You have to learn C in order to learn C++
    By gandalf_bar in forum A Brief History of Cprogramming.com
    Replies: 20
    Last Post: 07-16-2004, 10:33 AM
  4. Trying to learn guitar
    By Ben_Robotics in forum A Brief History of Cprogramming.com
    Replies: 12
    Last Post: 07-10-2003, 03:15 AM
  5. Advice on how to being to learn C++
    By VenomUK in forum C++ Programming
    Replies: 9
    Last Post: 05-18-2002, 01:06 PM