The new forums will be named Coin Return (based on the most recent vote)! You can check on the status and timeline of the transition to the new forums here.
The Guiding Principles and New Rules document is now in effect.

Below average IQ guy wants to learn Java, news at 11.

KING LITERATEKING LITERATE Registered User regular
Ok so, after some thinking about my future, I'm just now coming to the realization that I might want to try out computer programming. Are there any Java developers here? How easy/hard is the work (I'm up for the challenge)? I'm just curious.

Diamond FC: 3867 1354 8291
TWITTER TWATS

Posts

  • RendRend Registered User regular
    Learning enough programming to enhance your life and productivity by scripting tedious and repetitive tasks is easy.

    Learning enough programming to really develop high level stuff is hard.

    There's a middle ground there, but for the most part you don't gain a whole lot of capability for your effort from the time you reach the point where you can say "Oh hey, I can automatically back this folder up every week" until the point where you say "I'm ready to apply for development jobs"

    What exactly are you looking to do?

  • oldsakoldsak Registered User regular
    Java is harder than some languages but easier than others. In general though, if you have the right mindset, you can learn to program in any language, and eventually your decision to program something in a given language will be decided by a mix of what language is best suited to the project and where your expertise lies.

    As a former professional Java programmer, my advice is to start with C++. Maybe I'm biased because that's what I learned first, but I think you'll learn more about how programming languages and data structures work if you start with C++. Also switching to Java or some other language later will be pretty easy.

  • UrQuanLord88UrQuanLord88 Registered User regular
    http://www.codecademy.com/learn

    Not Java but mostly web languages. Good place to learn the basics of programming if you've not touched the subject before

    http://steamcommunity.com/id/urquanlord88
    urquanlord88.png
    Streaming 8PST on weeknights
  • KING LITERATEKING LITERATE Registered User regular
    edited May 2013
    I'm looking into being a java developer.

    I've had a very spotty history with Visual Basic (barely understood it in high school and this one math problem involving pennies of all things kicked my fatass quarters ago in my college).

    Right now I have Java for Dummies (5th edition) and Head First Java. What are some good C/C++ books for beginners?

    KING LITERATE on
    Diamond FC: 3867 1354 8291
    TWITTER TWATS
  • kimekime Queen of Blades Registered User regular
    I mean, if you are pretty confident that you aren't going to be using C++, there's really not much of a need to learn C++ first and then Java.

    Battle.net ID: kime#1822
    3DS Friend Code: 3110-5393-4113
    Steam profile
  • k-mapsk-maps I wish I could find the Karnaugh map for love. 2^<3Registered User regular
    Yeah, as everyone said, it really depends what you want to do or get out of it. Can you take classes? Are you not interested in going back to college for a CS degree for whatever reason? If so, Coursera is absolutely amazing, and I think they have some Java-based OO courses on there. You can't really beat taking a good class IMO, unless you're unusually motivated and auto-didactic.

    Programming is one of those things that you can spend a lifetime mastering, but would probably take 3-4 years to get reasonably proficient enough to get an entry-level job, depending on your skills and motivation. As an anecdote, I had a friend who used to be a kinesiology major, changed to CS, and after 3 and a half years he now landed a sweet job at Amazon. What set him apart though was extreme dedication to learning, love of the craft, and constantly getting his hands on projects he could work on.

    At any rate, you should first figure out if you actually _like_ it. The best way to do that in IMO is by taking a good introductory class.

  • MalgarasMalgaras Registered User regular
    edited May 2013
    If you want to just learn the basics of computer programming and get your feet wet. Check out https://www.udacity.com/. They have some great free online courses there. They start out with the absolute basics but some of the later courses get to some more advanced topics. What's also nice is they have classes on more than just writing code, but also topics like testing, debugging, and algorithms. I've done a few of their classes and they were all very good. They also tackle some more interesting problems with the lessons than high low games and other stupid crap lots of programming 101 classes use for exercises. It's mostly in python (some of the more advanced stuff is in C), but it's a great free way to get your feet wet and see if programming is something you like.

    If you are already sure that computer programming is the way you want to go, the absolute best way is to go get a bachelor's degree in computer science.

    If you are specifically looking to learn java, those books are a decent place to start. Past that, just start writing code. Make programs that do interesting things. Once you get your basics and want to learn more about writing programs in the "real world", I would pick up a book on design patterns (head first design patterns is supposed to be pretty good), and "Effective Java" should be mandatory reading for all Java developers. Keep in mind that it would probably mean very little to you right now. It's more on writing good java code than teaching you java.

    How hard is Java development? It's a hard question to answer, but I'll give it a shot (This all applies pretty equally to programming in general, not just Java. Once you get deeper into programming, you will begin to see that learning a language isn't the core of it any more than learning to drive a Ford Fusion is the core of learning to drive a car. What's important is being able to follow and understand increasingly complex logic, algorithms, and data structures inherent to all programming. Anyways:

    -Writing code that does something and runs is easy if you have a logical mindset.

    -Writing a useful application like at the level many employers call for can be a bit of a shock to the uninitiated. Coming from your little 5 class practice applications to adding functionality to an existing code base with hundreds of thousands of lines of code is a big jump. You will rarely, especially in entry level jobs, be breaking ground on a brand new application with your code, the average program spends the majority of it's life in maintenance and you will frequently be dumped in to a large existing code base and expected to figure things out. Learning to read other people's code is just as important as learning to write your own. Anyways, this is the kind of work where you will be doing things like parsing files, interfacing with databases, coding user interfaces, etc. and it is a significant part of development work out there today. Anyways, this kind of work isn't too hard once you get over the initial hump into professional code bases and it gets easier with experience. This is where a lot of people stop and you can make a living doing just this kind of work. Many people do.

    -Advanced programming and software development is hard, very hard. This is where you start getting to advanced topics like artificial intelligence, embedded systems, highly distributed applications, cryptography, and the like. This is the kind of work where all that math, those data structures courses, those algorithms courses, and "those CS courses that everyone drops out of half way through" start to pay off. The work is extremely demanding and you can spend a lifetime learning about any one of the many sub-fields. Some of the smartest minds of our time do just that. These fields are still constantly evolving and it requires an incredible amount of motivation and self-directed learning just to keep up in these fields. On the other hand, the work can be extremely rewarding and extremely lucrative.

    Malgaras on
    1tLJUH2O.png
  • KING LITERATEKING LITERATE Registered User regular
    Many thanks for that link. Making a living is exactly what I'm trying to do (plus it never hurts to learn a new skill). I've been reading on C/C++ and I think I can handle what I see so far.

    Diamond FC: 3867 1354 8291
    TWITTER TWATS
  • MalgarasMalgaras Registered User regular
    edited June 2013
    Glad it helped. Just a couple notes:

    C/C++ are both fine places to start. Just an FYI, with C and C++ you will learn much more about what goes on under the hood than with a lot of other languages but also experience a much higher learning curve because:
    - C/C++ leave a lot of implementation details up to you that many other languages take care of (Memory management being the elephant in the room here)
    - C/C++ is generally built with the idea that you know what you are doing, and lacks many of the "protect you from yourself" features (or annoyances, depending on who you ask) that languages such as Java have. On this plus side, it gives you freedom to do things that many languages won't "let" you. On the down side, you are given more than enough slack to hang yourself with. For example, you are more than welcome to do things such as assign values to array indices that don't exist, and instead of immediately dying horribly with a message pointing you to the exact location of your error like many languages, the program will happily continue along and simply produce output that makes no god damn sense when the time comes, leaving you to hunt down the issue yourself.

    That's not to say it's a bad language to start with. Mainly these are just some things to be aware of.

    Secondly, reading is great and keep at it, but also make sure you start writing code, no matter how simple, ASAP!

    Malgaras on
    1tLJUH2O.png
  • k-mapsk-maps I wish I could find the Karnaugh map for love. 2^<3Registered User regular
    if you're creative, text-adventure games can be surprisingly fun to make, and are very good beginner projects. It also acts as a great incentive to make something that you can immediately impress/share with others. Combining that with my previous suggestion, make a text-adventure (or other simple game genre) strewn with personal jokes that will entertain your friends/family. I used to make funny little screensavers/games for my ex to force myself to learn a new language/environment; her delighted reaction was usually enough of a motivation to keep me hacking away at it. (ugh.)

  • ArnavKumarArnavKumar Registered User new member
    Hi KING LITERATE,
    Java is very easy language. But you have to write the code whatever you learn. Java is Object Oriented Programing language. Java is easy and popular language as well. As a beginner, i will suggest you to code with notepad. When you will gain some basic knowledge of Java coding than you can switch to IDEs (eclipse, netbeans, jDeveloper) to reduce your effort and increase the result.
    Best of luck KING LITERATE

This discussion has been closed.