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

Proffesional programmers, what do you know?

Options
  • 18-12-2006 11:56pm
    #1
    Registered Users Posts: 695 ✭✭✭


    I'm in college right now and loving programming and am hoping to do this fulltime after I finish studying. However it's a little daunting as the programming world is so huge.

    I study Java, Visual Basic, and Assembly 80x85 in College. And in my free time I'm doing C. I picked C because it's very popular, and somewhere inbetween Assembly and Java in terms of language level. I like them all and have fun learning new stuff in each, (even VB despite the knocking it gets).

    I'm ok and getting better at these languages, but then I go and look at what other people are doing and I find loads are using Python, Perl, Ruby and other languages alot also. And then theres all the Web languages, PHP, ASP, Javascript, etc

    Do you guys know all of these things? I imagine it's quite a bit easier to learn a new language once you have learnt another fully.

    Also, what exactly is AJAX? If someone can give me a laymans explanation. I've sort of figured out its something to do with Javascript, and DHTML, which is what? A better or more sofisticated version of HTML?


«1

Comments

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


    Asynchronous JavaScript and XML (AJAX). If you're looking for a term you don't understand try Google. 'Define: Ajax' in google will give you more than you'll ever need to know. I'd say stick with what you're doing now if you can do Java, C and assembly then you can pretty much do everything else too. Worry about php and the rest when your out in the industry.

    Nice to see a student making an effort.


  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    There is no magic patch, programming languages are easy to learn but hard to master.
    I've drifted back to being a student from employment as a Java programmer, I also have good skills in PHP, COBOL and PROLOG (as well as a firm grasp of network technology, XHTML and CSS2) and less good skills in FORTRAN, LoadRunner Scripted C, Visual Basic, Python and Lisp/Scheme.

    What I'm noticing from your skills is that they're all in imperative languages. Why not try learning a functional or declarative programming language, it will almost certainly improve your programming style. Mostly useless (but interesting) languages to learn are Lisp, PROLOG or Haskell, or if you want something more practical it might not hurt to take a look at Python or Ruby.

    Also, if you want to learn more about concise programming, I strongly recommend you read "The Little Schemer"


  • Registered Users Posts: 695 ✭✭✭DaSilva


    Also, if you want to learn more about concise programming, I strongly recommend you read "The Little Schemer"

    I wonder is that related too a book I did read (well half of it, had to give it back to library, will get again after xmass), called "The Little Lisper", which was an amazing book, loved how it was done and understood everything that was going on as it was explained well (well asked well, which explained it, peculiar style but very effective). I was trying out LISP because I had heard it helps learn difirent programming style, recursive mainly from what I saw/read. But I decided it would be better to focus on what I was doing first, get them down well and then go at LISP as I was afraid of confusing all this new knowlledge, and end up mixing C with JAVA with Assembly, etc etc..


  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    Same author anyway...


  • Registered Users Posts: 1,421 ✭✭✭Merrion


    It'd be worth your while learning some SQL and database design if you want to program for a living - most of the stuff that pays has a database at its heart....


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


    Have a read of Code Complete too if you can.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    Evil Phil wrote:
    Have a read of Code Complete too if you can.

    Exactly. I think thats one of the traps people fall into when starting to code. It isn't always on how many languages you know. There is a whole world of coding conventions, methods and processes that need to be learnt as well.

    Code Complete, pragmatic programmer and its ilk all required reading imho.


  • Closed Accounts Posts: 884 ✭✭✭NutJob


    I second Code Complete (its a bible) Also Secure Code is worth a read But the general advice most people will give you is read up there are 2 tons of great books out there that will help get you moving in the right direction


  • Closed Accounts Posts: 2,585 ✭✭✭HelterSkelter


    I wouldn't be too worried about knowing a wide range of languages, it's best to concentrate on being really good on one or two languages rather than having a basic knowledge of loads but not enough knowledge to complete a project yourself. The language you learn depends on what branch of development you want to go into. C and assembly are good for engineering software but would be pretty much useless and obsolete if you're going to be writing database access stuff. I write a load of accountancy software with database access, some web stuff and we use ASP.NET (C#).


  • Registered Users Posts: 2,781 ✭✭✭amen


    ohh languages that I know
    PL/1, DB2, JCL, PASCAL, TURBO PASCAL, C, C++,VB, VB.NET, C#, ASP, ASP.NET,
    SQL, JScript, JAVA(a bit), PERL(okish), PHP, Some assemebly 8086 thats about it


  • Advertisement
  • Registered Users Posts: 2,931 ✭✭✭Ginger


    I would start learning some of the .NET languages.. They are always screeaming out for Junior ASP.NET programmers and its a very easy way to get some practical experience during the summer.

    Also that the 2.0 tools are free to download and use its a very easy way to get going on it..

    Best of luck


  • Registered Users Posts: 2,835 ✭✭✭StickyMcGinty


    i'm in a similar situation as the op, 3rd year student, have good knowledge of

    C++, Java, Haskell, MIPS, 8086 assembly, Prolog, PL/SQL, MySql

    is there any more "essential" languages that it would be handy to pick up before i leave college, what are the fundamental languages required by most employees?? cheers lads, they never teach you anything about post college wok when in college so i pretty mch havnt a clue what to expect


  • Registered Users Posts: 221 ✭✭Elfman


    I'm in the same position . You do your course and learn your stuff but i have no idea what to expect .

    Ne tips on cv or the type of interview questions asked . Also any advice of weather or not the java certs are worth doing ?

    thanks

    -Elfman


  • Registered Users Posts: 441 ✭✭robfitz


    Knowing a few different types of languages is always a good thing, but you also need to know how to work with any provided API's, most languages are very limited without the API's.

    Also combinding languages is very common. A shopping website might use HTML, JavaScript and CSS for the presentation, but the server side might use PHP and SQL, with some form of XML RPC used for credit card payments.

    Most jobs will involve a large amount of maintenance of existing code, so it helps to be able to read other peoples code quickly.

    Some other topics worth knowing include, debugging, revision control, build systems (make, ant), command line tools, unix/linux.

    And the last one is learn to use a good programmers text editor.


  • Registered Users Posts: 4,003 ✭✭✭rsynnott


    VinnyL wrote:
    i'm in a similar situation as the op, 3rd year student, have good knowledge of

    C++, Java, Haskell, MIPS, 8086 assembly, Prolog, PL/SQL, MySql

    is there any more "essential" languages that it would be handy to pick up before i leave college, what are the fundamental languages required by most employees?? cheers lads, they never teach you anything about post college wok when in college so i pretty mch havnt a clue what to expect

    Python mightn't be a bad idea. It's quite simple, and is used a fair bit. Ditto perl, though it's horrible and ugly.


  • Closed Accounts Posts: 19,777 ✭✭✭✭The Corinthian


    rsynnott wrote:
    Python mightn't be a bad idea. It's quite simple, and is used a fair bit.
    Not really. It's used as an alternative to Perl, which in turn is only used by net admins at this stage. If he/she is looking to be a professional programmer and is just starting out then it's best he looks at those languages that are 'bread and butter' to programming jobs/contracts as well as those that are likely to become so - Python is not one of those, IMHO.


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


    Ginger wrote:
    I would start learning some of the .NET languages.

    I agree. What puts bread with the odd bit of butter on my table is PHP development, but having been through the process of looking about in recruitment websites and looking for work, I came across a **** load of jobs that were looking for developers at the .NET end of things.


  • Registered Users Posts: 3,548 ✭✭✭Draupnir


    The company I work for is pretty much .NET entirely and there are a bundle of .NET jobs out there, particularly for graduates.

    I would certainly recommend improving your database skills, your SQL skills and your ability to put together user defined functions, stored procs etc.

    Its almost amazing how little you learn, or at least I did, in college in SQL terms when you compare it to how regularly you will use it, in most jobs, no matter what the language you use to code.


  • Registered Users Posts: 954 ✭✭✭caff


    A lot of the graduate stuff you will see advertised is for .NET

    SQL and database design is pretty much a must fior anything related to web work, need to know about inner and outer joins for interviews :)

    Ruby is nice, check out the pragmatic programmers series, the ruby one is free on the net as far as I know. Its quite good, easy to pick up.. though jobwise I have seen few adverts looking for people with it.

    All that said.. the language you know is not really that important for graduate work unless you can show something impressive

    Me, Im in mainframe at the moment working with JCL.. something I doubt any grad has heard of.


  • Closed Accounts Posts: 381 ✭✭DAVE_K


    I'd second getting more database skills under you belt.
    Then i'd reutilise the skills you have in java and C and transfer them to C#. If you've got the DB (SQL Server or Oracle) skills and .NET skills you're set and will have no problem getting work.


  • Advertisement
  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    Don't know if it's been mentioned, but you might also take a look at source control systems, which aren't often covered on college courses, but are everyday tools in professional software development. Doesn't matter much which one you go for, but grab something like Subversion or CVS, and familiarise yourself with the general concepts - checking code in and out, versioning, merging, branching, etc. Debugging and automated build and test systems are also useful to know about.

    And yeah, I'd also reccomend picking up some C# or other .NET tech, seems to be pretty popular at the moment. Basic web development, and database tech (ie, SQL and database design) will also come in useful sooner or later.

    As was already mentioned, in commerical development, you spend a lot of time working with substantial amounts of other peoples' code, usually fixing it, adding to it, porting it, integrating it, rewriting it, etc. You won't always have access to the people who wrote it, or much documentation. Being able to navigate someone else's code, figure out what it does and how it does it, is another skill to have. Maybe download some code from the web, and have a go at following random parts of it.


  • Registered Users Posts: 1,481 ✭✭✭satchmo


    Don't know if it's been mentioned, but you might also take a look at source control systems, which aren't often covered on college courses, but are everyday tools in professional software development. Doesn't matter much which one you go for, but grab something like Subversion or CVS, and familiarise yourself with the general concepts - checking code in and out, versioning, merging, branching, etc.
    Yeah this is a good point.. any decent sized project will use some form of source control, you'd do well to get comfortable with one (they're all very similar).


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    There are a lot of aspects to software development that aren't actually writing code. Personally I think having some grasp of these principles is more important then knowing 10 languages. Its sort of like putting the why into the how.

    Another important aspect is team work. Until you find yourself working on a bad team you'll never truely appreciate how important team work is. It only takes one person to drag down a whole team - make sure you're not that person.

    Another area where I've seen developers (both graduate and experienced) fall down is in following instructions. If you're asked to do something a particular way - do it that way. Definitely if you know/think you know better make a case - but ultimately if you don't get your way - do it their way - there may well be good reason for it... and don't be sneaky - I've seen it backfire on people too many times.

    Finally remember that not all companies are what they seem. Yes every company is the market leader (or will be) and every company has enterprise solutions that will change the world. Unfortunately those goals may well be far removed from the work and experience you need to be doing - or worse what they will get you to do (regardless of what they tell you). There is no silver bullet - you need to manage your career.

    HTH (someone)

    D.


  • Registered Users Posts: 515 ✭✭✭NeverSayDie


    OP, here's an article you may find interesting, it's a "lessons learned" type article from a professional developer:
    http://www.codeproject.com/gen/work/standaloneprogrammer.asp

    It's written from the perspective of a lone-wolf programmer in a company more so than a team, but nonetheless, it's pretty interesting, plenty to take out of it.


  • Registered Users Posts: 37,485 ✭✭✭✭Khannie


    It's used as an alternative to Perl, which in turn is only used by net admins at this stage.

    Not so at all. Knowing perl (or some other scripting language) makes life for progammers easier on a variety of fronts. My job is primarily c++ coding, but when it comes time to do tedious tasks involving files or the filesystem I always break out the perl. Sitting back and watching a script do a task that would have bored the ****e out of you for 2 hours is the purest of programming joys. :)

    On the whole .NET thing: I haven't done MS specific coding in around 5 years now (used MFC for a while in my last job). What puts bread and butter on my table is knowing my way around in linux / unix and c++. The perl knowledge is also good in interviews. A differentiating factor I'd say. I had no trouble getting a job at graduation time or when I left my last job (which was my first out of college).

    I've also done interviewing, and it's not language ability I was looking for, it was problem solving. Anyone (within reason) can learn a programming language, but not everyone is good at solving problems.


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


    Proffesional programmers, what do you know?

    How to spell and/or use a spell-checker ;)


  • Registered Users Posts: 6,790 ✭✭✭cornbb


    DaSilva wrote:
    Do you guys know all of these things? I imagine it's quite a bit easier to learn a new language once you have learnt another fully.

    Pretty much all professional programmers are required to learn on-the-fly. As long as you are any good at a few decent languages and are willing to learn you'll be fine. Being a good programmer requires a good knowledge of programming principles rather than knowing the syntax or the quirks of any individual language. I'm working for a small software outfit at the moment - we are using Objective C for Mac and only 1 out of 7 developers in the company had ever used the language before starting!


  • Registered Users Posts: 33 TabulaRasa


    I would also have a read of a book called "The Pragmatic Programmer" by Andrew Hunt and David Thomas it is a good collection of thoughts on the practice of programming. It's a really easy read and you will find yourself re-reading bits of it.


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


    What's Objective C cornbb? I've always had an interest in learning it but that alone doesn't justify buying a Mac.


  • Advertisement
  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    TabulaRasa wrote:
    I would also have a read of a book called "The Pragmatic Programmer" by Andrew Hunt and David Thomas it is a good collection of thoughts on the practice of programming. It's a really easy read and you will find yourself re-reading bits of it.

    Seconded. A must read for any developer. Should really be forced on students in software development courses.


Advertisement