Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Course, Should I go for C, Java or VB?

Options
  • 20-10-2001 1:56pm
    #1
    Registered Users Posts: 695 ✭✭✭


    Im going to sign up for a course in IACT because my programming skills are very begginer like! I know a bit about VB and some JavaScript. So I have three questions:

    Q1. Is Java anything like Javascript? Ive never really seen much Java so I don't know! My god I sound like a complete n00b!

    Q2. What programming course should I do? Java, C, VB ect...

    Q3. If I knew Java would that help me with C, and if I knew C would that help me with VB ect... ??

    Thanks alot


Comments

  • Registered Users Posts: 68,317 ✭✭✭✭seamus


    I would say go for Java, but I havent really tried C, but as far as I remember there isn't a massive difference between C++ and Java (I know someone's going to eat me alive for saying that). As for VB, it's good for making windows-type apps really quickly and easily, but isn't really a good choice if you're looking for a firm grounding in programming, because of it's simplicity.(All the VBers are gonna eat me alive too)

    Java and javascript are quite different, e.g. I know Java, but can't just go and do any javascript on the fly, I'd have to check out syntax and stuff


  • Registered Users Posts: 2,119 ✭✭✭p


    Most people seem to suggest C as a starting language,
    since alot of other languages were made after it and influenced by it.

    Javascript isn't much like Java at all, it's more like C afaik, i don't think JavaScript is object orientated at all.

    If you're looking to get a job, and not just learning to program perhaps Java might be a better option, althought there's probably alot of Java developers out there looking for work ATM.

    - Kevin, filling the void until someone else knows better*


  • Closed Accounts Posts: 8,478 ✭✭✭GoneShootin


    if you learn C++ first then JAVA wont be too much of a hill to climb. That was the path in college and now that im learning JAVA, I find it similar is layout to C++, so its not a COMPLETE mistery.

    VB is good but JAVA has much more application opportunities, so id go with JAVA.

    JAVA by Dietel & Dietel is a great book, recommend it. I think there was a thread about what software to use as coder. WE use Jbuilder 5 in college, but there are better out there


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    I'd leave VB alone. Java is a great language to work with, but if you're only learning I'd do C. It will teach you a lot about how code interacts with the machines hardware (like memory, cpu registers, disk access). The jump to Java would be quit easy, oop isn't that hard to get your head around.


  • Registered Users Posts: 2,648 ✭✭✭smiles


    If you learn C++, even basic stuff, then Java will be a sinch, i learned a bit of C++ a few years back and learned a bit o' Java over the summer and they've both got the same basic principles and will make each other easier to learn.


  • Advertisement
  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    There are two schools in terms of learning programming languages.

    One says to start with the likes of C or C++, after which everything is a cinch. This is true, but think about what its saying....you are learning (arguably) one of the toughest languages. Everything else is simple because its a sub-set or an equivalent. Of course, "everything" is an exaggeration, but not that big of one.

    The other option is to start with a less "open" language, which is possibly easier to get to grips with. The downside here is that you end up with more learning to do as you move to new languages because you meet concepts which are completely alien to you.

    At the end of the day, its a question of starting easy, mid, or hard. No one language is suitable for all tasks, and if you get into programming, odds are you'll end up knowing half a dozen or more languages. Learn the "hard" one first, and you'll learn the rest more easily. But it will take longer to learn the hard one in the first place.

    If you know some VB, then I would actually go against the "purist" flow already put up here, and advise you to go and learn VB properly. Then move to Java, then C++. Move up the ladder, rather than starting at the top rung :)

    Now, when I say properly, I mean properly. VB mostly has such a bad name because so many people have gotten carried away by the easy form design, easy data-binding, and so on to produce something which is horridly unusable. If you do it properly, you can get seriously good results. Honest.

    Regarding Seamus' comment about VB not giving you a good grounding in programming....VB will *let* you develop without a good grounding in programming, but you will produce horrid apps. You can learn to program properly in VB, and do a good job. The only really major features you will not get to see are possibly inheritance (implemented in VB.NET), and definitely pointers (not used in Java either, but both VB and Java will let you do "dirty" coding to use pointers).

    Of course, if you intend to do web-based development, then I would scrap that recommendation and suggest you have a look at Java and JSP, then the full J2EE development "environment".

    As a final thought, to do with whether learning one or the other will help you cross-learn....

    In my opinion, structure and logic are more important than syntax. Pretty much all coding is about understanding logic, being able to implement that in a good structure, and finally, picking up the syntax as you go along. The logic you learn with any language is what makes learning another language easier. Syntactic similarities are a mixed blessing...you move to a new language more readily, but the subtle differences will lead to subtle problems. On the other hand vastly different synta requires a larger shift in mindset, but you will find that either the code will not compile at all, or it will compile and probably do what you intended it to. Basically, the syntax differences will not lead to subtle problems...they will lead to dirty big obvious ones.

    I'm sure I'll get plenty of posts slamming me for my slanted view now, but I thought you should at least have the other side of the coin :)

    Best of luck with whatever you choose. Programming is fun, and (personally) immensely rewarding....

    jc


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    A few years ago I started off with C. I personally think it is the best language I could have started off with. I did this before I started college, so I had a decent foundation (at least) by then. But college started off doing VB with us. I think that was a really bad move, becaues IMO there is VB against practically every other language.

    I have rarely come accross another language that has the similar syntax to VB (well maybe ASP, but they both come from the same place). But everywhere I turn I see C like syntax. There a great places online for getting C tutorials. But one of the biggest things I hate about newbie programmers is when they can't distinguish the difference between C and C++. For a lot of ppl, even ppl not doing CS or IT, they have all heard of C++. So when first years that don't have too much of an interest in computers start college, they all think it's C++ they are doing. C++ is a language who's syntax can be used to write software in a structured/procedural or object oriented manner. I personally don't call it C++ until OO is implemented, because you can do all the structured stuff in plain ol C.

    Anyway enough ranting. So now it's 5 years later since I started programming, and now I'm doing J2EE and J2ME/PersonalJava (Java) stuff. I think Java is a great language because (which has been said already), it can be applied to so many software projects. It has recently passed out C++ as the leading industry standard programming language/tool.

    It's completely up to yourself which language you want to start with, since all of the above is simply advice. But don't jump at VB just because it's easier, and can produce results fast (if you want GUI windows based stuff), you will regret it in the end. Because all the people in my college who are only doing computers because it's a buzzword, and wouldn't look at one in their spare time, are struggling big time with language other than VB.

    ;-phobos-)


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by phobos
    I personally don't call it C++ until OO is implemented, because you can do all the structured stuff in plain ol C.
    Never a truer word has been said ;)

    When C++ started gaining in popularity, I remember someone telling me "developers use C++ because they want to program in familiar C, but get sent on cushy courses to learn a new language".

    Someone else (RJZ perhaps?) said that OO is a language-independant design. You do not need an OO language to develop in an OO manner. Course - having an OO language makes it easier.

    Anyway enough ranting. So now it's 5 years later since I started programming, and now I'm doing J2EE and J2ME/PersonalJava (Java) stuff.
    I'm working mostly in J2EE now, but came at it from the opposite direction (VB). Definitely a great development environment (I wont say language, cause J2EE is so much more than just the Java language).

    Would I go back to VB? Sure. But then again, I'll code in COBOL on an IBM mainframe if thats what I'm paid to do. I'm just a development-prostitute. You pay, I do.
    It has recently passed out C++ as the leading industry standard programming language/tool.
    Who comes up with these stats??? (I'm half serious here!). I mean, VB has more lines written than COBOL and is the most widely used language ever. Java is the leading "industry standard". C and C++ still probably have some nice stats for them as well....

    Its all marketing I guess ;)
    all the people in my college who are only doing computers because it's a buzzword, and wouldn't look at one in their spare time, are struggling big time with language other than VB.

    I'm pretty sure the VB they write is god-awful as well :)

    jc


  • Banned (with Prison Access) Posts: 16,659 ✭✭✭✭dahamsta


    I've never coded in any of the above, however I have coded in Perl and I'm pretty good with PHP. So some people would say that I'm not a programmer per se, I'm a "coder" or a "scripter". In fact, I say it myself, because I don't think I'm worthy of the "programmer" title. I'm more of an all-rounder all-in-all, I like all aspects of the Internet biz. So this is from a different perspective, a coder and open source advocate one:

    If it was me, I'd learn C.

    There are advantages and disadvantages to them all, but from my own point of view, the only one I really care about, the only one I'd /really/ like to learn if I had the time, is C. I'd like to learn Java too, but that's just out of interest. VB has never, and will never be an option, because it's too "microsofty".

    But I'll be realistic and explain everything:

    VB is not an option if you ever want genuine respect in the hacker community. In my opinion, it's a "mocky-a" language. But before you all get your flamethrowers on, there are advantages too - you'll *always* get a job if you can code (well) in VB. Take a look through the jobs sites, there's always VB/ASP jobs there. However you'll always be working for someone else if you stick to VB, so if you want to be a cool, loner hacker, VB isn't the right language.

    Java is in-between. It's also a "corporate" language, but you'll get more respect from the hacker community than with VB. There's also plenty of jobs out there for Java hackers, and well-paid ones too, if you're any good. But please, please, I'm begging you, don't do marquee applets and that kinf of crap. Use the force wisely.

    C is where the respect comes though. All the cool open source apps are written in C. Kernels are written in C. Apache and PHP are written in C. And this is why I want to learn C. I want to contribute back to these projects, but I can't, because I don't have the knowledge. Most importantly, if you can code in C, and you're any good, you'll be respected by the whole community, not just the Java community or the VB community.

    Now, how do I learn C...? :)

    adam

    PS. I probably got some stuff wrong in this. Someone's going to tell me that you can code Apache modules in Perl, or that some sections of PHP are written in C++. I don't care. So shut up.


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by dahamsta

    But I'll be realistic and explain everything:

    VB is not an option if you ever want genuine respect in the hacker community.

    <snip>

    Java is in-between. It's also a "corporate" language, but you'll get more respect from the hacker community than with VB. <snip>

    C is where the respect comes though. All the cool open source apps are written in C.


    <sarcasm>
    And of course, respect from the hacker community is the only reason to learn a language.
    </sarcasm>

    Most of the "cool open source apps" are written in C because they predate C++ and Java. Also, ANSI-standard C was, for a long time, the most platofrm-neutral language available, and therefore it made sense to write cross-platform apps in it. Plus it is fast. Very fast.

    As for java being corporate....uh-huh, right. One of the most impressive and successful open-source projects at the moment is Jakarta, which is almost entirely Java-based.

    Anyone who learns a language just because its the language to be seen coding in really needs to reassess their priorities. This is about as ridiculous a reason for choosing a language as I've ever heard.

    Choose a language because you find it interesting, because it will get you a job, or because it is the right language for whatever it is you want to do. Choosing it because others will give you respect is, quite frankly, very sad.

    Also, if you're going on a course to learn it, then I'm guessing because it is because you want to get a job working with this stuff. In that case, you can more or less take the complete opposite of what dahmasta said.

    jc


  • Advertisement
  • Registered Users Posts: 695 ✭✭✭DaSilva


    Thanks a lot, I have decided to go for Java because the C course isn't on and Java is supposedly used alot. Bonkey & dahamsta thanks for the other point of views, I will continue learning VB at home in my spare time aswell. But I have v.good news anyhow! I'm doing terrible in school "5th year" and my parents have opted to help me get good Computer skills because I'm very interestec in computers so they have let me pick out 4 courses from the book to do over the year! I have chosen C & Advanced C, Java & Advanced Java. And on another good note my company wants me to do my MCSE's! So thanks for the Advice everyone!


  • Banned (with Prison Access) Posts: 16,659 ✭✭✭✭dahamsta


    from my own point of view, the only one I really care about, the only one I'd /really/ like to learn if I had the time, is C.
    Apache and PHP are written in C. And this is why I want to learn C. I want to contribute back to these projects, but I can't, because I don't have the knowledge.

    Give the flamethrower to someone who can work it, tosser.

    adam


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by dahamsta

    <re-quoted material deleted>

    Give the flamethrower to someone who can work it, tosser.

    I never said you made your choices based on the the hacker-cred of a language. I said that for someone to make a decision based on the reasoning you offered to DSilva would be pathetic.

    I was questioning the info you gave to DaSilva to help choose between the three languages - which all included references to "respect from the hacker community".

    I also pointed out the most notable opensource Java project (jakarta), simply to supply counterpoint to your claims that Java is a "corporate" language and to show that not all "cool" opsensource apps are written in C.

    To make it worse, you preceded this comparison of the three languages with :
    I'll be realistic and explain everything
    . I would maintain you were very unrealistic in your explanations, and you most certainly did not explain everything.

    Your personal reason for wanting to learn C is a good one. However, listing the pros and cons of various languages in terms of how much cred they have with the hacker community is, frankly, laughable as a recommendation to offer to anyone else. This is what I took exception to.

    jc


  • Banned (with Prison Access) Posts: 16,659 ✭✭✭✭dahamsta


    1) "Hacker-cred" is only a small part of it. Just because I mentioned it a couple of times doesn't mean it's my only argument. That said, hacker-cred, or recognition to put it more accurately, is a valid part of being a programmer. You write good code, you get recognised for it. Which would you prefer to be, Alan Cox or a coder listed in the credits of Just Another Godawful VB app?

    2) "Explaining it all" was in reference to my own "advice", which was limited. I explained it was limited, and I explained why it was limited - I've never coded in any of them. Making out that I was trying to explain absolutely the reasons to choose one language over the other is unrealistic on your part, not mine - how could I possibly be qualified? I'm arrogant, but I'm not that arrogant. All I was doing was giving an alternative opinion.

    3) Jakarta is a cool app. And C is used in corporations as well. However C is far more popular in the open source hacker community.

    adam


  • Closed Accounts Posts: 3,859 ✭✭✭logic1


    Originally posted by dahamsta
    1) "Hacker-cred" is only a small part of it. Just because I mentioned it a couple of times doesn't mean it's my only argument. That said, hacker-cred, or recognition to put it more accurately, is a valid part of being a programmer.

    adam

    I don't respect any of you bitches.

    ;)

    On a more serious note I started with K&R C about 5 years ago then moved onto C++ and all the rest.... Never did any VB or Java but the great thing about languages is there are so many. I don't see any one as better than another but each uniquely appropriate to be used in the context it was created for.

    .logic.


  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Originally posted by logic1

    I don't see any one as better than another but each uniquely appropriate to be used in the context it was created for.

    Ah the force is strong in this one :)
    I completely agree with that statement.

    Now let us celebrate with the adding of chocolate to milk ;)

    ;-phobos-)


  • Moderators, Home & Garden Moderators, Regional Midwest Moderators, Regional West Moderators Posts: 16,722 Mod ✭✭✭✭yop


    As a VB programmer of 4 years and a learner of java for 2 months, I would say Java.

    I have developed web apps with VB and ASP and it is a pain in the ass to be honest, what i have seen with what u can do with Java in 3 days work then it is much faster for web apps.

    Java is the lanuage of desire for employers at the moment, as for going and learing C or C++ first then I do not agree, why "waste" time learing a lang and then having the go and pull in the extra features of Java, when u can do it straight off. And I use the word waste lightly.
    it is advantageous to learn as the are very similar but if I was employing someone and I needed Java, if they have C++ it does not mean anything to me if they do not have Java.

    These are only my opinions so no throat jumpers


  • Registered Users Posts: 15,443 ✭✭✭✭bonkey


    Originally posted by dahamsta
    That said, hacker-cred, or recognition to put it more accurately, is a valid part of being a programmer. You write good code, you get recognised for it. Which would you prefer to be, Alan Cox or a coder listed in the credits of Just Another Godawful VB app?
    I suppose this is what it boils down to.

    I am a professional developer. I've worked as a permie in various companies, and I've also worked as a contractor (working for myself, in effect).

    For me, its not about recognition, its a job. When I do my job well, I get recognition from my employers. I code in whatever language they want me to code in. When I code for a hobby, I code in whatever I feel is appropriate to the task at hand.

    "Good code" is language independant. There is no language which cannot be written well. I have written what I would consider "good code" in WCL (the DOS of Wang mini computers), in VB, in Java, in C, in COBOL and a variety of other languages.

    The problem with your argument is that you seem to be implying that good code cannot be written in a language like VB, or at least, that the "public" recognition you get for it is not gonna compare to the public recognition you get for coding in C.

    Again, I guess its a case of priorities. To be honest, I couldnt care less about having credits on *any*app. I care about interesting work, and a feeling of a job well done at the end. I dont care about what others think of what I work on, or the language I'm using.

    jc


  • Registered Users Posts: 695 ✭✭✭DaSilva


    Well here it is! My first peice of java thingy! /wipes tear from eye

    The Code
    Class DaSilva {
    
    public static void main (String [] args) {
    
    /* Theorom Pythagaris (Bad spelling!)
     made by DaSilva use at your own risk! */
    
    int z = 0;
    int x = 4;
    int y = 5;
    
    z = (y * y) + (x * x)
    
    System.out.print("The lenght of the slanty side is ");
    System.out.print1n(z);
    System.out.print("&#178; when x=4 and y=5". Tada! Amazing Eh?");
    }}
    

    There's probably a million error's and spelling mistake's there but I haven'tgot a compiler at home yet so I'm d/ling one now!


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    :D:D:D


  • Advertisement
  • Closed Accounts Posts: 1,322 ✭✭✭phobos


    Congratulations m8 on your first Java program, and it wasn't even Hello World (ooh advanced is he?) :)

    Keep up the good work, and if you need any help, ya know where to post your questions. BTW you can download a compiler and run time environment (VM) from Sun. It's not an IDE, rather a set of command line tools. But it's the place to get the most current implementations of the language platform.

    http://java.sun.com/j2se/?frontpage-javaplatform

    also, the most up to date tutorial for the Java SE (Standard Edition) can be found at. It also happens to be very good ;)

    http://java.sun.com/docs/books/tutorial/?frontpage-spotlight

    HTH,

    ;-phobos-)


  • Registered Users Posts: 16,404 ✭✭✭✭Trojan


    Couple of points:

    Lots of apps are written in C because:

    - some companies have lots of engineers who know C (if you've a BSc in Software something, and you don't know some C, that was an "interesting" course)

    - C compilers are available for 99.999% of platforms ... if it doesn't have a C compiler, it most likely doesnt have any compiler...

    - C libraries are available for a majority of the above platforms

    - lots of existing stuff is written in C (and this is nothing to do with open-source or hacker culture, those came *afterward*)

    - it's faster than other languages (run-time, not design)

    This list is not intended to be exhaustive.

    Al.


  • Closed Accounts Posts: 5,564 ✭✭✭Typedef


    Da Silva.

    Could I suggest modestly that you learn C/C++ programming even if there is no official course, just for the sake of ... ummm I don't know , say really knowing, enjoying and appreciating programming?

    If I might quote Jesus Christ
    Go get thyself
    www.bloodshed.net
    and proliferate C and C derivations ok?

    No arguing with the big J hmmkay?


  • Registered Users Posts: 455 ✭✭Lyconix


    I'd vote for C/C++... although I don't know any Java, and I'm not the best at VB either, I do know a lot of facts about those languages, and nearly every PC game out there was written in C/C++... I believe C/C++ would be by far the most flexible and useful language to learn, and definitely worth the time investment.

    Keep in mind that C++ is slightly different to C - more organised programming, but more difficult. However once you know one its easy to make the transition to the other if needs arise...


  • Registered Users Posts: 897 ✭✭✭Greenbean


    "And I use the word waste lightly. it is advantageous to learn as the are very similar but if I was employing someone and I needed Java, if they have C++ it does not mean anything to me if they do not have Java. "

    Really, I don't think that would be a good choice of distinction. My background is Pascal/Delphi to Java to C++. The differences between Java and C++ are simply in the plumbing and the restrictions Java imposes - as far as I can see Java is C++ done right. Any C++ programmer worth their salt, and knew their theory could easily pick up Java to a satisfactory level quick quickly - plus they'd be in love with the excellent Java libraries and structure. If you're a C++ programmer and want to figure out if you would transfer easily to Java then I would ask if you use inheritance/polymorphism often? Do you follow strict OO principles (java friendly)or do you hack your code to achieve your aims (java unfriendly)? Do you worry about handling exceptions? Do you study design patterns? Do you love standarised libraries like STL?

    If you answer yes to most of the questions above then Java is for you and should be no problem to move over to it.


  • Closed Accounts Posts: 37 nucular


    Originally posted by Greenbean

    As far as I can see Java is C++ done right.

    I'm sorry?
    Did you just say what I think you did?
    I mean I'm reading it but I'm not believing it!!
    ;)

    Seriously man if you believe Java is C++ done right you have got a lot to learn.

    They are both tools and both have jobs that they are good for.
    Java is a great language but until it has templates it can never hope to rival C++ as a language.

    later..


  • Registered Users Posts: 944 ✭✭✭nahdoic


    Originally posted by DaSilva
    Well here it is! My first peice of java thingy! /wipes tear from eye
    Good work there DaSilva :)

    Although my personal favourite starting out code :)



    [PHP]public class Forever {
    public static void main(String [] args) {
    while(1!=0) {
    System.out.print("#");
    }
    }
    }[/PHP]


  • Registered Users Posts: 3,317 ✭✭✭ButcherOfNog


    Originally posted by dahamsta
    VB is not an option if you ever want genuine respect in the hacker community ... blah ..... However you'll always be working for someone else if you stick to VB, so if you want to be a cool, loner hacker, VB isn't the right language .... blah .... Java is in-between. It's also a "corporate" language, but you'll get more respect from the hacker community than with VB ....

    plz move this to the humor board.


Advertisement