Learning another language before Java?

Discussion in 'Bukkit Discussion' started by Caprei, Nov 6, 2013.

Thread Status:
Not open for further replies.
  1. Offline

    Caprei

    Hi guys,

    I'm learning Java at the moment. My question is, does learning another programming language before I continue learning Java help? Now, not to brag or self-promote, I'm a pretty quick learner and I think I'll be fine. I can't help feeling that Java is like a higher level of programming and starting from the bottom (HTML/CSS followed by PHP then maybe Java) will help me when I get to the advanced things. Opinions please?
     
  2. Offline

    NextInLine

    Learn Python. Dis will help you 10/10
     
  3. Offline

    Caprei

    NextInLine Explanation please? An example or two might be nice as well. :)
     
  4. Offline

    Coelho

    You could use Lua. It is a pretty fun language (don't know if it will help you though :p)
     
  5. Offline

    Neilnet


    Python is really easy, and it is OOP (object oriented programming) just like Java. So when you do Python, you should find Java easier.

    Don't forget, if you ever have problems in Java you can always ask someone on Bukkit. People are quite nice here :p
     
  6. Offline

    Caprei

    Neilnet So I've noticed. Now your opinion if you don't mind, will I be able to get by with the help of BukkitForums and YouTube tutorials without python? Or does it make a big difference? Thanks. I'm not all that worried if it'll take me a few extra hours to get the hang of Java without Python. If we're talking months then i'll start with python.
     
  7. Offline

    Neilnet


    You will be able to get help on Java just by PMing someone on Bukkit, or using a coding oriented forum such as StackOverflow, you can use StackOverFlow for Java and Python help. But I recommend learning Java as a first language. It doesn't take months to get the hang of Java.
     
    Caprei likes this.
  8. Offline

    Caprei

    Neilnet Great, Thanks for all the info! I'll have a look at StackOverFlow. Appreciate the help.
     
  9. Offline

    Neilnet

    No problem, if you need any help with any problems that you face when you start off with Java, shoot me a PM, I'll attempt to help you :)
     
  10. Offline

    LEOcab

    Learn x86 asm first, preferably in hex instead of silly mnemonics. You'll be a real man that way.
     
  11. Offline

    Alshain01

    Realistically it doesn't matter which language you start on. All modern high level languages are basically the same. You have your variables, your operators, your constructs, your conditionals, and your loops. Then you have to learn more advanced techniques like scope, structured programming, object oriented programming, and polymorphism.

    No matter where you start, these techniques will transfer from one language to the next in the majority of cases. Though not all languages support all of the higher techniques.

    The differences are syntactical. Java and C# uses a C-style "symbolic" syntax but each have their own nuances. Visual Basic and LUA have the more "english-like" syntax of traditional BASIC languages.

    Just make sure you know the difference between programming languages and scripting languages, those are fundamentally different (for example trying to compare HTML or XML to Java would be silly). There is also another animal to be aware of and you mentioned it, PHP or ASP are examples of server-side languages. PHP is symbolic like C# and Java but it interfaces with HTML for it's user interaction. This is not quite the same as Java or C# which can run stand alone applications right on your desktop.

    Finally if I had to make a suggestion, I would go with one of the .NET languages just because you have a sort of instant gratification which helps to learn (C# if you plan to move to Java). You can make a change, hit the "play" button, and see exactly the consequences of your actions right then and there. You can do this in Java with the right IDE but it's a little different and not as straight forward.
     
  12. Offline

    Crockeo

    Caprei: It doesn't really matter too much what language you're starting on. As long as it's used for what you want to do (in this case it is), it's whatever you want.

    That being said, if you want to get into more advanced programming further down the line, you should look into learning Haskell, Scala, or a Lisp. The tools you gain from learning functional programming will help you for ages down the line.
     
  13. Offline

    Maximvdw

    Programming is like driving a car. You have to learn the controls a bit when you buy a new car, but if you know how to drive, it won't be hard.

    gr,
    Maxim
     
  14. Offline

    Darq

    I personally started making things first with PHP, Java made a lot more sense afterwards compared to trying to learn it before PHP :). PHP is OOP and has similar syntax to Java, but there's a lot fewer restrictions and prerequisites that you need to learn before you can just start doing stuff.

    Code:
    <?php
    echo 'Hello, world';
    ?>
    
    Compared to Java's "Hello World" if you look it up :)
     
  15. Offline

    xize

    Darq I agree with you:)
    I first started with php however I thought I knewed everything OOP based in php but when I whas focusing in java it seems I just knew like 5%:p

    personally I think java is a good base langeuage for OOP because it explains why things not work and makes things more clear with php its alot harder to find why things not work as example the usage of extends or implements, what the difference is between protected and private and public fields php hasn't a very good explaination why it doesn't work errors are very foggy.
     
  16. Offline

    wrecktify

    High school programs usually teach basic, python, c++ in that order of difficulty
    Well that was when I was in school anyways
     
  17. Offline

    xTrollxDudex

    Caprei
    I suggest Python, PHP, and the C languages, preferably C#, C+, and C++

    That will get you started on the basic syntax and OOP
     
  18. Offline

    Caprei

    xTrollxDudex Once again, do you believe it is necessary/very helpful?
    Alshain01 Same thing. "Once again, do you believe it is necessary/very helpful?"

    Thanks everyone for all the replies.
     
  19. Offline

    xTrollxDudex

    Caprei
    I don't think it's very constructive to learn a language differing from the target language you are trying to learn, however, given the circumstances, Java is a very complex and diverse language, I think it would be practical to get used to the syntax of programming and OOP as Java is more Object oriented than anything. PHP, I think, best mimics this, heck most of the syntax is very similar, if not the same as Java. HTML and CSS is nothing compared to Java, I don't get the satisfaction of getting an error in web languages as I do from Java.

    Ideally, C -> PHP -> Java. C gives you a feel for Java, Java was in fact sprouted from C as a streamline version of it, and elaborated into its own separate language. PHP gives you the necessary components of Java programming, even more objects, and a feel for actual Java. Skim over them, make basic applications, get familiar. Then comes Java. That's your final goal. Use Java for Dummies as it is clear, concise, and aimed towards total beginners. But, experiencing with 2 other similar languages is enough for you to merely skim over a few topics, get deep and understand more.

    Ultimately, it is completely up to you and your learning style. Java is a difficult one to master, but if you are typically a fast learner, or a person who happens to pick things up easily, have determination and drive, dive straight into it. Go of it. But the most important thing is the want. You must be willing to spend long hours and persist debugging. To try. It's is not important to know Java if you don't want to use it. (Don't make that analogy with your math teacher, I tried that once).

    Then comes Javadocs and the Bukkit API. That I think would be the best way to go according to my projections.
     
  20. Offline

    Alshain01

    I do think it is helpful because the dominant Java compilers are harder to work with than Visual Studio Express Edition in my opinion, and far less documented (there are thousands of Visual Studio published books and plenty on the Java language but very little for the compiler itself). You don't need to be learning the Java compiler while trying to learn the language and the basics of programming.

    VS Express installs quickly and you can jump right in and get immediate results in a real world Windows environment. Other languages like C and (arguably)Java you can jump right in, but it starts with the command line which is foreign to many in the younger generation.

    The main thing is you need to learn the basics that are common across all programming. C# is the best choice for moving to Java because they both use the same symbolistic syntax which was originally created by C.
     
  21. Offline

    idontcare1025

    What school still teaches BASIC?
     
  22. Offline

    Bobcat00

    The problem with learning PHP first is that PHP lets you get away with almost anything. You can change variable types on the fly and do arithmetic on strings. And it even has an === operator. You can learn a lot of bad habits by starting with PHP.
     
  23. Offline

    King Pyro

    C# Is where i started from as its pretty similar in my opinion
     
  24. Offline

    CubieX

    Yes. C# is pretty similar to Java in many aspects.
    But I see no reason to learn another language first.
    Java is not more complicated than C++ or C#. So go ahead and learn Java.
    If you have some expierience with it, you will be able to write in C/C++ and C# almost immediately if you ever need to.
    PHP as a script language is different in syntax and way less complex and also not on a par with programming languages like Java. (It does not have to)
    So learning PHP will not help you much to get those OOP concepts down.

    I for myself learned BASIC in school (long ago ^^) and later C. Then in university I learned C++, C# and Java.
    But nothing stops you from learning Java as first language. Just take it step by step and have fun. ;)
     
  25. Offline

    xEpicTaco

    C Doesn't have objects, you're thinking of C++. C is a static language. In fact, C++ was originally called 'C with classes' when bjarne stroustrup made it.
     
  26. Offline

    xTrollxDudex

    xEpicTaco
    That doesn't matter. Java is built upon C, but I'll edit.
     
  27. Offline

    xEpicTaco

    Its built on C in the sense that c++ is built on c. Regular c wont teach him oop
     
Thread Status:
Not open for further replies.

Share This Page