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

Getting started at web dev

Options
  • 14-02-2013 1:31pm
    #1
    Registered Users Posts: 37,485 ✭✭✭✭


    So I'm looking to get start a bit of web development. I've quite a bit of C++ experience, a reasonable amount of Perl and Java and I'd be handy with shell scripts (bash).

    The purpose of this is to get to proof of concept quickly. Now I'd like to build this properly from the ground up, so I wont be sloppy about getting to PoC.

    I had a look at ruby (with the possibility of investigating rails). As a perl guy it looks very nice. Certainly I wouldn't be looking at a massive learning curve. The only thing is that I've come on here to have a look around and from what I can see there are very few people using it. I see netbeans has dropped support for it. I took both of these things as a bad sign.

    Anyway - experienced developer looking to get into web dev. Open to anything within reason. Suggestions if you please!


Comments

  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Java with Spring MVC framework running on tomcat.


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    Ruby's a lovely, lovely language and I imagine the person who wrote its parser is now locked up in an asylum somewhere on a continuous IV drip of anti-psychotic drugs and sedatives. I keep looking at it and thinking I'd love to spend some time learning it, but I want to get more time playing with Python first.

    But for a quick PoC type project, PHP just doesn't have an equal. It's horribly messy, it's not thread-safe last I looked, it's basicly a large ball of glue and nails and broken glass, but I don't know of anything that's faster when going from zero to a working website.

    If, however, you're happy to take the time and do it right, I'd suggest Python. Install mod_python in apache and you're good to go, and if you want them you can have a full-blown framework like Django or any one of the six or seven other full-blown frameworks or the dozen or two less-full-blown frameworks. (Seriously, just google "python web framework" and you'll get dozens to choose from).

    I'm mainly suggesting Python for the reasons I'm playing with it - it's not just a web language like PHP, it's a general-purpose scripting and glue language, with a really nice and clean syntax. And xkcd likes it so you know all the cool kids are doing it...

    python.png


  • Registered Users Posts: 2,022 ✭✭✭Colonel Panic


    ChRoMe wrote: »
    Java with Spring MVC framework running on tomcat.

    If you like eyeballing XML files and 2000 line stack traces :P


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    Khannie wrote: »
    So I'm looking to get start a bit of web development. I've quite a bit of C++ experience, a reasonable amount of Perl and Java and I'd be handy with shell scripts (bash).

    The purpose of this is to get to proof of concept quickly. Now I'd like to build this properly from the ground up, so I wont be sloppy about getting to PoC.

    I had a look at ruby (with the possibility of investigating rails). As a perl guy it looks very nice. Certainly I wouldn't be looking at a massive learning curve. The only thing is that I've come on here to have a look around and from what I can see there are very few people using it. I see netbeans has dropped support for it. I took both of these things as a bad sign.

    Anyway - experienced developer looking to get into web dev. Open to anything within reason. Suggestions if you please!

    Are you looking to get into web development for employment reasons or to build for yourself? Any other business requirements?

    If just for yourself:
    Ruby (with Rails or other) or Python (with Django or other) are not bad choices. Good languages and frameworks for PoC, and plenty of library, tooling and infrastructure support for them, too.

    Ruby on Rails is still very popular, particularly among small companies. It seems to be a darling among the US start-up scene, but probably not as widely used in Ireland. I wouldn't read to much into Netbeans dropping support for RoR. A lot of developers of Ruby, Python and similar don't seem to use the heavy Java based IDE with language support tacked on that much, favouring things like Sublime Text, vim, emacs, or specific targeted editors.

    Of course, you could just keep using Perl if you wanted too. There seems to be a couple of popular frameworks and I'm sure library support is pretty good thanks to CPAN.

    If for employment opportunities:
    Not that there isn't Ruby on Rails jobs (and other languages) but PHP, ASP.NET/C#, Java and the various frameworks seem to be advertised more frequently. ASP.NET and Java particularly among enterprise.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    If you like eyeballing XML files and 2000 line stack traces :P

    Anotations, learn them, love them, never use XML again :)


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


    Thanks for all the feedback so far.

    I have to say I found python incredibly frustrating. It just seems to change a lot of things for near zero benefit. Arsey loops. No pre / post increment (ffs!). Boolean operators must be words (i.e. && fails for boolean and). Spacing. One of the things I disliked most about it was that you couldn't force declaration of variables (I've done that typo that costs you hours of f*cking around trying to find the logic flaw).

    I'd consider it though. I'm sure I can get over my dislike for it. edit: Maybe it's like vim. :)

    Ruby / rails is still looking like a potential.

    I have in my head that Java's going to be a lot of learning for web development (despite knowing the language well).


  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    The thing about Java* is that if you're doing server-side stuff with tomcat, you may find not every web hosting provider provides that - or, provides it as part of the basic package. If you've your own server, no worries, obviously.



    *Well, that and a few million other things, including the point that it seems like it was designed with autocomplete in your editor being listed as a base requirement - it's as if Gosling sat down one day and said "You know what was wrong with COBOL? It didn't make you type enough text." :D


  • Moderators, Society & Culture Moderators Posts: 9,689 Mod ✭✭✭✭stevenmu


    Tbh I think getting to know the client side stuff, really learning HTML, Javascript and CSS, and learning how to use them with server side stuff (generating HTML, web services, AJAX etc), is a good sized chunk to bite off. It's not that any of it is particularly difficult, there's just a lot to get through to do it right.

    If you can make things a bit easier by sticking to technologies already familiar to you, then I'd have to say to go for that. The time you can invest in anything is always limited, so if you can cut down on the number of things you have to invest it in, you can invest more in the things you really need to.

    I don't know a lot about Ruby On Rails, and it wouldn't be my first choice, as a .Net developer I'd naturally go ASP.Net, but it seems to be a very capable framework and if it's already kind of familiar to you it makes a lot more sense to go with than learning .Net/Python etc.

    And once you have gotten to know it, I'm sure most of the web development skills would be easily transferable to other platforms if you wanted to try them down the line.


  • Registered Users Posts: 1,311 ✭✭✭Procasinator


    stevenmu wrote: »
    Tbh I think getting to know the client side stuff, really learning HTML, Javascript and CSS, and learning how to use them with server side stuff (generating HTML, web services, AJAX etc), is a good sized chunk to bite off. It's not that any of it is particularly difficult, there's just a lot to get through to do it right.

    If you can make things a bit easier by sticking to technologies already familiar to you, then I'd have to say to go for that. The time you can invest in anything is always limited, so if you can cut down on the number of things you have to invest it in, you can invest more in the things you really need to.

    I don't know a lot about Ruby On Rails, and it wouldn't be my first choice, as a .Net developer I'd naturally go ASP.Net, but it seems to be a very capable framework and if it's already kind of familiar to you it makes a lot more sense to go with than learning .Net/Python etc.

    And once you have gotten to know it, I'm sure most of the web development skills would be easily transferable to other platforms if you wanted to try them down the line.

    For a similar reason, I'd almost recommend Node.js these days.

    I don't know it's quite prime-time ready, or if it just a fad, but there are a few things in it's favour. Only having to learn and use one language can help, and for a lot of web development these days you are going to have to learn Javascript. Even if you end up using another language, your Javascript experience won't go to waste in web-development.

    Javascript has warts, but it's a good language for prototyping and can be used well (and you've got options like Coffeescript, if you are so inclined). The ecosystem is blooming at the moment (though sometimes to many choices and variations, and sometimes lacking in documentation).

    Another potential benefit is that Javascript is poised to be a core language moving forward: Windows 8, GNOME, e.t.c is starting to rely on and encourage the use of Javascript as a first-class language, even outside of web-development. Being competent in Javascript could be a useful and in-demand skill in the near future.

    Of course, you need to be hesitant with upcoming technology (could be a lot of buzz without merit or sticking power), but depending on your technical and business needs, Node.js might be a suitable option.


  • Moderators, Science, Health & Environment Moderators, Social & Fun Moderators, Society & Culture Moderators Posts: 60,092 Mod ✭✭✭✭Tar.Aldarion


    Sparks wrote: »
    Ruby's a lovely, lovely language and I imagine the person who wrote its parser is now locked up in an asylum somewhere on a continuous IV drip of anti-psychotic drugs and sedatives. I keep looking at it and thinking I'd love to spend some time learning it, but I want to get more time playing with Python first.

    But for a quick PoC type project, PHP just doesn't have an equal. It's horribly messy, it's not thread-safe last I looked, it's basicly a large ball of glue and nails and broken glass, but I don't know of anything that's faster when going from zero to a working website.

    If, however, you're happy to take the time and do it right, I'd suggest Python. Install mod_python in apache and you're good to go, and if you want them you can have a full-blown framework like Django or any one of the six or seven other full-blown frameworks or the dozen or two less-full-blown frameworks. (Seriously, just google "python web framework" and you'll get dozens to choose from).

    I'm mainly suggesting Python for the reasons I'm playing with it - it's not just a web language like PHP, it's a general-purpose scripting and glue language, with a really nice and clean syntax. And xkcd likes it so you know all the cool kids are doing it...

    snip


    I hope youve typed import antigravity into python :P


  • Advertisement
  • Registered Users Posts: 40,038 ✭✭✭✭Sparks


    It's clever, isn't it? :D


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


    I hope youve typed import antigravity into python :P

    Nice!


  • Registered Users Posts: 232 ✭✭lemon_remon


    ChRoMe wrote: »
    Java with Spring MVC framework running on tomcat.

    Play is much more modern Java web environment that would allow easy transition into Rails, Django etc.


  • Registered Users Posts: 2,588 ✭✭✭KonFusion


    I hope youve typed import antigravity into python :P

    That's genius! :pac:


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


    Play is much more modern Java web environment that would allow easy transition into Rails, Django etc.

    I had a look at the intro video for play and I must say it looks very inviting. Love the built in unit and acceptance test framework. Definitely going to investigate it more. Thanks for the tip.


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


    Just a bit of feedback on Play for those who might be like me (i.e. a non-web developer) and considering it -

    After a bit of reading I committed to it and I am very impressed with it. I bought this ebook and it has been well worth the investment (it is possible to get a discount, google). The online tutorial is probably fine if you have a bit of web dev background (I do not) but otherwise I think the book is a must.

    Play seems fast, mature and has a bunch of very nice features built in (e.g. dependency resolution and download). It took some messing to get Jacoco (code coverage) working with it, but work it does. Unit and acceptance tests come built in, etc. etc.


  • Registered Users Posts: 85 ✭✭slyph


    A part of my final year project involved Play (2.0.x version) and I agree with the above comments about it - it was great to work with.

    The documentation is very good (although I was using Scala, I assume the Java documentation is at the same level). Although I didn't use the above eBook recommended for it, there are numerous sample applications available. Dissecting those samples and understanding them was the key to me being able to learn what I needed in order to get my own project work done.

    So yes, I would definitely recommend it to anyone currently considering it.


  • Registered Users Posts: 11,262 ✭✭✭✭jester77


    Play is nice and easy to get up and running compared to RoR and would be a lot easier for you with your java background.

    As regards employment potential, RoR is the way to go imo. All the startups here in Germany are using RoR, I haven't come across any Python, although there may be some out there from more established organisations.


  • Administrators Posts: 53,752 Admin ✭✭✭✭✭awec


    Horses for courses, but I personally hate PHP and find it a total mess. It used to be the only show in town, even relatively recently that was the case, but thankfully now it has some serious competition with ruby and the .net stack.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    awec wrote: »
    Horses for courses, but I personally hate PHP and find it a total mess.

    Its a horrific language.

    http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/


  • Advertisement
  • Moderators, Technology & Internet Moderators Posts: 1,334 Mod ✭✭✭✭croo


    Since Java is one of your existing skills and others are suggesting ruby (& rails) ... you might be better looking at Grails (Groovy & Rails) it's been wrapped up in Spring now too and is part of STS (the spring version of Eclipse). Though it works just great at the command line too if you prefer.

    I've just played about with it myself but I like it and it's fun too. If you get serious though there is a library of Spring plugins just waiting to be added - I only experimented with the Acegi based "Spring Security" myself but adding it to the grails project was painless.

    I'd not heard of play must have a look...


Advertisement