General discussion

  • Creator
  • #2189755

    New to Java …best advice?


    by netforce ·

    I have over 2 years of IT Desktop/lan/Network Admin support and over 4 years of general pc/desktop/laptop hardware/soft. support I have decided to take up a programming language.

    I’m going to pursue Java. And I’m very open about it as of now I don’t have a preferrence; web,servlet, apps etc. I don’t even know where to begin!

    I have downloaded NetBeans that has the Java J2SE
    5.0 integrated with it.

    My question is obviousely where do I as a newbie to programming start with Java? Can anyone recommend a good starter book?
    What field or area in Java would be the most beneficial in terms of yielding a job?

    I’m not saying I’m going to get a job of the top but I need the basics first.

    I also may be going to Japan soon and know that Java is hot over there big time since it’s intergrated so well into almost everything ie Desktops/servers, cell phones, PDA’s, etc.

    Your help is extremely appreciated.

All Comments

  • Author
    • #3059744

      More info please

      by charliespencer ·

      In reply to New to Java …best advice?

      Do you have any previous programming experience? If so, what languages?

      If this is your first language, you should be interested in the basic techniques that are used in all programming (use of variables, opening objects, prompting for responses, retreiving data, updating records, displaying messages, formatting output, closing objects, cleaning up, etc). You can usually find discounted books for most languages at the big chain bookstores. These are marked down because they cover previous versions of a language, but they can serve as a starting place for a beginning programmer. Most of these include a CD with a compiler or equivalent, and code examples.

    • #3059660

      re embedded devices…..

      by jaqui ·

      In reply to New to Java …best advice?

      60% of the cell phones are now using linux and c / c++ for the devices, not the old java app route.
      the linux kernel gives a better performance as do c and c++.

      Palmetto is right,
      learning the basics of programming itself will serve better than just learning the language.

      here we have a discount computer book store. ( half price computer books ) if you have something like that where you are I would recommend going there and picking up a basic book on java, one designed for people with no programming knowledge.
      then it will have a good core of programming basics included.

      a point to concider when picking a language to write any code in:
      os independant = interpreted = slow
      ( java, perl, vb, python )

      os specific = not portable = vb = vc++

      compiled languages will always give better performance, but they add a level of complexity if you need to have cross platform capability.
      ( c, c++, pascal, delphi, cobol, fortran, assembler )
      cross platform has 2 solutions:
      1) pick a widget set that supports all platforms
      2) use a web app design, where it is through a webserver. [ most commonly an interpreted language ]

      • #3058861


        by jrod86 ·

        In reply to re embedded devices…..

        Now I understand that I haven’t looked at Java in a year, but at that time you could download api’s for almost every major cellphone manufacturer (Motorolla, Blackberry/RIM being the ones I dabbled with), so why are you touting Linux when the app server can still be Java??

        Anyway, last half of your comments I agree with entirely. It is most beneficial to pick a language that is platform independent and the larger the application the more evident it’s “slowness” will be if programmed in Java/Perl (VB isn’t compiled??wtf?).

    • #3059604

      Java would be a terrible language to

      by tony hopkinson ·

      In reply to New to Java …best advice?

      start learning how to program in in my opinion. It obscures all the basics. It’s a bells and whistles language. C or Pascal to learn the basics then an OO environment. Seeing as Java is C/C++ based may be that would be a better start. Learn how to program first, then learn the fundamentals of OO with Java if you insist, though it would not be my default choice.
      Note once you learn how to program, picking up a language is easy because you have the concepts to map the syntax to.

      • #3056811

        Reply To: New to Java …best advice?

        by netforce ·

        In reply to Java would be a terrible language to

        I’ve also heard that Windows ME was programmed and compiled completely in Java.

        No wonder it sucked. As I know Java is not for an intensive program like that but more for special apps, and small games.

        thanks all for the advice.

      • #3059383

        Start programming with a Pascal-derived language

        by awolfe_ii ·

        In reply to Java would be a terrible language to

        The syntax of Java, C, C++ and all is a bit nasty — not only do
        you have the unreadable braces and such, you also have the
        subtleties around if/then/else.

        The problem is that an extra or missing brace can totally change
        long stretches of code and you might miss it. Or worse, if the
        compiler catches it it’s easy to misinterpret which brace is
        unbalance, and “correct” it incorrectly.

        God help us, even Visual Basic might be better to start on than

        • #3054530

          Well Begin is bigger than {

          by tony hopkinson ·

          In reply to Start programming with a Pascal-derived language

          , but that’s not really the problem. It’s the compiler somwhow achieveing an executable from what is complete bollocks.
          A Pascal compiler gets to the last line in the block and says Oy dimwit where’s the begin ?
          A C compiler goes hmmm interesting idea, a procedure definition inside a while loop, wonder what that does.
          Say which one of you sick mother’s put me to sleep and violated my access ?

      • #3054371

        Anything but Java

        by robmcalister ·

        In reply to Java would be a terrible language to

        Start anywhere but Java. It’s not really set up for beginning programming. Just to do basic stuff like echo text to the screen, requires some magic that says, “Ignore this for now, we’ll explain how it works later…much later.”

        A good system administrator can start with Perl, and become instantly more productive. But, there are so many shortcuts it can be overwhelming when you start looking at other people’s code.

        Nobody uses Pascal anymore although it was the language of choice for intro programming classes in the late 80’s. It’s excellent for understanding the logic behind the magic.

        Compiled (C and the like) or byte-code (Java) languages are going to add that extra bit of complexity for beginners that might just be a deterrent to continued growth. Header files, make files, etc. are no way to start learning how to program.

        The only good thing about Java is that you can start for free. But you can start with Perl, Python, Ruby…

        • #3058722

          Really I’ve been aside from a two year hiatus

          by tony hopkinson ·

          In reply to Anything but Java

          been using pascal since 1996.
          Still am through Delphi, become quite valuable on the market again as good code is being valued more than that with this months flavour. Could n’t agree more about java though horrible language to learn the discipline of programming in. All the habits you develop are likely to be bad.

    • #3059581

      best advice

      by apotheon ·

      In reply to New to Java …best advice?

      You want the best advice? Here it is:

      Don’t start with Java. In fact, don’t bother learning it at all unless you have a specific need to do something with it (like translate something in Java to another language).

      Better choices (in alphabetical order):

      C or C++ will be thoroughly difficult languages to learn as a first language, but they’re the languages that have been and will be the most solidly part of the IT industry for quite some time.

      Pascal isn’t the easiest language in the world to learn, but it’s not the hardest, either. It’s a compiled language, and leads easily into Object Pascal (also known as Delphi for those who use the Borland Delphi design environment) for object oriented programming. It tends to teach very good programming habits, but there aren’t too many jobs out there for Pascal programmers these days.

      Perl is the ubiquitous system administration language. If you’re ever going to admin a unix system of any kind (AIX, Linux, *BSD, et cetera), you should learn it. It’s also “the language that drives the web”, as they say. It’s really kind of a do-anything workhorse language, easy to use, easy to learn, and extremely flexible. Because of its flexibility, and tools like Perl’s regular expressions engine, it’s one of the most powerful languages around in terms of rapid, effective development. It doesn’t produce executable binaries like C or Pascal, though, so if that’s what you’re looking for, you won’t find it with Perl. Perl can do object oriented programming, but it doesn’t have to.

      Python is similar to Perl. It’s a little more orderly to look at but, frankly, it makes my eyes bleed. Others swear by the “significant whitespace” feature of it, but I would really rather do without. It’s not as ubiquitous as Perl, though it’s getting closer. It’s not nearly as necessary for the competent sysadmin as Perl, but it’s useful. Some feel Python is much easier to learn and use than Perl, but I haven’t had that experience with it. Like Perl, it does not compile to executable binaries. Python is an object oriented programming language, period.

      Ruby is Perl for Python users, or Python for Perl users. It doesn’t compile to executable binaries, and it is not as common/popular as Perl or Python: those two facts pretty much end the list of negatives for Ruby. Ruby is the easiest useful language to learn and use that I’ve ever seen. I love this language, and so does any other programmer that picks it up and plays with it for five minutes. It is a “pure” object-oriented language, more object-oriented than Python (which is in turn more object-oriented than Perl, C++, or Object Pascal). It’s an extremely powerful language (similar reasons to Perl’s power), and lots of fun (for programmers, at any rate).

      I’ve made a lot of noise over executable binaries. Keep in mind that this is not a make-or-break feature of a language. For many tasks, binary compilation is important. For many tasks, binary compilation is actually a detriment — such as the actual process of programming, because it becomes more difficult to test your code if you have to keep compiling it (for instance). Sometimes, people have sort of a bigotry about “compiled” versus “interpreted” languages, but ultimately what matters is whether the language is suited to your task.

      Java, by the way, is on the wrong side of pretty much everything where the compiled-vs.-interpreted debate is concerned. It is bytecode-compiled, which means it’s compiled to a sort of intermediary state that makes it less accessible than Perl or Ruby source code files, but it still requires a final compilation at runtime so that it does not get the same benefits as pre-compiled binaries like those created by C and Pascal compilers. Worse yet, Java requires a “Virtual Machine” to be running, else the bytecode won’t compile and run, so there’s this huge resource overhead from that slowing things down and mucking up your computer’s performance in general.

      If you want to get started learning programming with Ruby, I can point you at a couple of free, online resources:

      [u]Programming Ruby: The Pragmatic Programmer’s Guide[/u]
      This is written by one of the best programming teams available, who wrote that seminal work of good programming practice, [u]The Pragmatic Programmer[/u].

      Daniel Carrera’s [u]Learning Ruby[/u]
      It’s a good starter/primer.

      [u]Why’s (Poignant) Guide to Ruby[/u]
      Another book online. It doesn’t look bad at all, though I haven’t looked at it in depth.

      [u]Learn to Program[/u]
      Yet another book online. This one is great for learning the very basics of object-oriented programming, and does it with Ruby as the example language. It’s not so much about Ruby as about programming, though. Come to think of it, this might be exactly the one you need to get started. You’ll need more than just this to be a competent programmer, though: you also need to start writing programs.

      Another one:

      Another one:

      I hope that helps.

      • #3056758

        Compiled vs. Interpreted

        by charliespencer ·

        In reply to best advice

        I used to favor compiled code over interpreted, but that was back when processors were slower and RAM was expensive. Now the only time I prefer a compiled app is when I KNOW its going to stay on the same platform and run only within the company, not “in the wild”.

        I notice no one mentioned starting with RPG 🙂

        • #3056517

          Role Playing Games ?

          by tony hopkinson ·

          In reply to Compiled vs. Interpreted

          I much prefer compiled languages, it gives me much more control over what ends up in the executable. There are some big advantages to interpreted languages and as you say the on a clean powerful machine, particularly in a GUI app the performance loss will be immaterial.
          The big disadvantage to them is not the technology but what’s being done with it. A remorseless drive to dumbing down the discipline to where programming becomes the equivalent of Lego.

    • #3056540

      Hear anything back yet?

      by drefoo ·

      In reply to New to Java …best advice?

      I was just wondering if you had gotten any reply yet. I’m in the same boat as far as knowledge of this subject, though I probably know a little less. Would love to get some advice, but no one seems to care enough to help. Thanks.

      • #3059381

        Re: “New to Java… best advice”

        by metilley9 ·

        In reply to Hear anything back yet?

        I’m surprised no one has mentioned APL. This is probably the most powerful language ever created and it is interpreted. Unfortunately not many people use it but it is catching on again, especially in the stock trading and banking industries. Also actuarial work and, of course, scientific/engineering type work. I have been using APL2 (IBM’s dialect of APL) for more than 20 years and, after looking into what else is out there, I refuse to pollute my brain with other languages such as C. I started teaching myself C and JAVA a couple of times, but when APL is your first language, your subconscious kicks in and says, “Hey stupid, why do you want to learn this crap???”

        Yeah, I’m sorry I’m such an APL bigot, but I needed to voice my opinion on this subject. Cheers!

        • #3054499

          Personal preference vs. first language

          by charliespencer ·

          In reply to Re: “New to Java… best advice”

          I’m a big COBOL fan, but I wouldn’t recommend it as a start language. There may be something to be said for the Visual Basic recommendation.

        • #3054341


          by jaqui ·

          In reply to Personal preference vs. first language

          have they gotten oo cobol yet or is it still procedural only?

          ~seriously concidering opening a few cans of sardines for smacking people recommending visual basic across the face with~

        • #3058853

          What’s wrong with VB as a first language

          by jrod86 ·

          In reply to interesting..

          Someone posted that you should learn the basics first (i.e. variables, containers, etc). Well, VB Structure really isn’t that bad, especially when compared to Java.

          ~seriously sick of people that are stuck in a box~ Jaqui, you are a smart dude, why not bend your mind a little.

        • #3058721


          by tony hopkinson ·

          In reply to What’s wrong with VB as a first language

          .Net is meant to better but 1 – 6 is absolutely naff. Not so much the langauge itself as the environment. It will forgive absolutely terrible code and do it’s best to run absolute garbage that should have never made it past the key board. Procedurally it’s bad and it’s dumbed down useless version of OO should have been drowned at birth.

        • #3058601

          VB and .Net

          by charliespencer ·

          In reply to Everything

          I haven’t had reason to do anything with VB in a couple of years. Am I to understand from your posting that VB no longer exists as a language separate from .Net?

        • #3062442

          VB6 is still alive and kicking

          by tony hopkinson ·

          In reply to Everything

          but no longer supported. Another classic piece of enforced obsolescence from Bill & Co.
          VB.NET has VB’s syntax, but they moved from object based to object oriented in a fashion. It’s the C++ model and much harder to get really clever with than other implementations, such as ObjectPascal’s. However the pathetic implementation of OO in VB6 meant that a lot of code would not port without re-writing and that the developers who’d only used it, had no need to know anything about OO, so were incapable of porting it properly without dealing with a considerable learning curve.

        • #3056844

          Thanks for the update

          by charliespencer ·

          In reply to Everything


        • #3058603

          Nope, not yet

          by charliespencer ·

          In reply to interesting..

          It will probably never be object oriented. I didn’t say it was the best choice, just a personal preference. It was the first language I used that allowed long variable names and had text-like commands. I could come back from two weeks of reserve duty and it only took me a few minutes to get back into it.

          What’s your gripe with VB? There is a reason it’s called “Basic”.

    • #3062266

      My advise

      by fridaybridge ·

      In reply to New to Java …best advice?

      Borland JBuilder 2005 Enterprise

Viewing 5 reply threads