As was foretold, we've added advertisements to the forums! If you have questions, or if you encounter any bugs, please visit this thread: https://forums.penny-arcade.com/discussion/240191/forum-advertisement-faq-and-reports-thread/
Options

Learning web programming

LurkLurk Registered User regular
edited September 2009 in Help / Advice Forum
I haven’t done anything productive in regards to programming in a while and want to learn something new to get myself interested in it again. Anyone can recommend me a language and a tutorial to learn the kind of web development that builds sites similar to Wikipedia or Rotten Tomatoes. I have background in Java and C#.

Thanks in advance : D

415429-1.png?1281464977
Lurk on

Posts

  • Options
    GanluanGanluan Registered User regular
    edited September 2009
    Those sites aren't too complicated, they're just heavily data-driven. If you want to know how to do something like that, get experience with a relational database. You can try MySQL for free, or you can get MSSQL Express for free (I think). The latter was created by MS so obviously is designed to integrate completely with Visual Studio if that's what you're using for C# development.

    The big thing in web development right now is AJAX, with a lot of places starting to shift to WPF (including Silverlight, Microsoft's answer to Flash). The former is platform-agnostic but MS has their own version called ASP .NET AJAX which you would want to use with C#. The latter is obviously designed for the .NET platform alone.

    Ganluan on
  • Options
    steveorsomethinsteveorsomethin Registered User regular
    edited September 2009
    Another javascript library to look at is jquery. Microsoft has even taken to using it, particularly for their new MVC framework. Also see jqueryui for helpful, stable UI components like tabs, accordions, etc.

    Speaking of MVC, if you want to use your C# knowledge you can find it and tons of educational material about it at http://www.asp.net/mvc/. It removes much of the bloat that WebForms was responsible for, and generally behaves how most of the other popular web frameworks these days do. Another benefit of using the MVC framework is that if you would like to hone your architectural skills, the community around it is actually trying to promote some semblance of design patterns. Oh, and they open sourced it.

    If you're looking for a Java analog to the aforementioned framework, you might try Spring. I hear many good things about it, and there is also a .NET version.

    Other than that I hear positive things about ruby from a fun/productivity point of view, but sometimes you will see comment threads like this: http://www.infoq.com/articles/Netter-on-Rails.

    steveorsomethin on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited September 2009
    Ganluan wrote: »
    MS has their own version called ASP .NET AJAX which you would want to use with C#.

    whhaaaaaaaaaat. no, no you wouldn't. It's inexcusably bad and not using it doesn't really rob you of anything unless you are so dependent on the .NET form controls that you have no business writing web applications.

    Learn Javascript. Learn real Javascript. It's not enough to just sling around jQuery. It will get you there, but knowing what's under the hood will always help you.

    I like ASP.NET, however, it's probably the easiest framework to end up writing an absolutely unforgivably poor application in terms of performance and organization. It's also the easiest framework to get basic to intermediate data driven sites up on the web and be awesome. Since you know C#, it's probably best to go with it.

    Jasconius on
  • Options
    SebbieSebbie Registered User regular
    edited September 2009
    Call me old fashion but I have a blast programming in php coupled with mysql.

    I hadn't been using it very much but my new job requires me to use it all the freaking time and I'm having fun at work :)

    Mix in some javascript and you've got yourself a stew!

    Sebbie on
    "It's funny that pirates were always going around searching for treasure, and they never realized that the real treasure was the fond memories they were creating."
  • Options
    LegionnairedLegionnaired Registered User regular
    edited September 2009
    Jasconius wrote: »
    Learn Javascript. Learn real Javascript. It's not enough to just sling around jQuery. It will get you there, but knowing what's under the hood will always help you.

    This - but it's not as big a curve as people seem to let on, especially if you have spent any time with a functional lanugage and a tree-type data structure.

    After the point that you get that you can accomplish everything without variables, and thus with a potentially lower memory footprint, you can start making informed tradeoffs about your page's speed, and the convenience methods (Like $() instead of document.findById) will be much more appreciated.

    Legionnaired on
  • Options
    LewishamLewisham Registered User regular
    edited September 2009
    Sebbie wrote: »
    Call me old fashion but I have a blast programming in php coupled with mysql.

    I hadn't been using it very much but my new job requires me to use it all the freaking time and I'm having fun at work :)

    Mix in some javascript and you've got yourself a stew!

    PHP makes the baby Jesus cry. And PostgreSQL is fat better than anything less than MySQL 5 (seriously, no views? Foreign key checks? It's like... awful).

    I'd second people talking about learning frameworks in real languages like C#, Java, Ruby, Python, or heck, even Scala (Lift).

    Lewisham on
  • Options
    SeñorAmorSeñorAmor !!! Registered User regular
    edited September 2009
    Lewisham wrote: »
    Sebbie wrote: »
    Call me old fashion but I have a blast programming in php coupled with mysql.

    I hadn't been using it very much but my new job requires me to use it all the freaking time and I'm having fun at work :)

    Mix in some javascript and you've got yourself a stew!

    PHP makes the baby Jesus cry. And PostgreSQL is fat better than anything less than MySQL 5 (seriously, no views? Foreign key checks? It's like... awful).

    I'd second people talking about learning frameworks in real languages like C#, Java, Ruby, Python, or heck, even Scala (Lift).

    I'm curious as to what you think is bad about using PHP for websites.

    SeñorAmor on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited September 2009
    PHP is probably tolerable now that it has namespacing and classes.

    However, before that, it was dated.

    But really..

    myanswer = "this"."is"."why"."I"."hate"."php";

    Jasconius on
  • Options
    NightslyrNightslyr Registered User regular
    edited September 2009
    Jasconius wrote: »
    PHP is probably tolerable now that it has namespacing and classes.

    However, before that, it was dated.

    But really..

    $myanswer = "this"."is"."why"."I"."hate"."php";

    Fixed. Also: Heheh.

    Namespaces in PHP are ugly and speak volumes about Zend's odd syntactical choices. I wonder if they think it actually increases readability, or if it's a technical issue with the interpreter.

    It's OOP capabilites did dramatically improve with version 5, so it has that going for it.

    PHP has its strengths and weaknesses. It's ridiculously easy to learn, and spits out results quickly. A beginner can make sites with very little effort immediately. Unfortunately, this ease of use comes with some drawbacks. It lacks a code-behind model. The quick results it rewards coders with, specifically stemming from the way PHP allows one to mix and match script code with markup, tends to make coders neglect the idea of code structure. Its bloated with redundant functions. Those functions don't all share the same naming scheme - there are just enough outliers to make me want to pull the rest of my hair out.

    I don't hate PHP. But its piecemeal nature is obvious, and I find it to be lacking and ugly in certain areas.

    Nightslyr on
  • Options
    GanluanGanluan Registered User regular
    edited September 2009
    Jasconius wrote: »
    Ganluan wrote: »
    MS has their own version called ASP .NET AJAX which you would want to use with C#.

    whhaaaaaaaaaat. no, no you wouldn't. It's inexcusably bad and not using it doesn't really rob you of anything unless you are so dependent on the .NET form controls that you have no business writing web applications.

    This isn't really a thread to debate on this, but I'd like to know where you get this from. I lead a team writing enterprise web apps used in a corporation with thousands of international locations, and we heavily use ASP .NET AJAX. Of course we write our own extensions and modify things that don't suit us, but that's not unusual. Your assumptions are entertaining though :P

    It's certainly not perfect, but no AJAX library is. Many corporations still use it heavily and/or exclusively so being familiar with it can be very helpful.

    I am very interested in MVC that was mentioned earlier - it does have a much cleaner pattern than the previous frameworks. I'm hoping we get some licenses for VS 2010 soon so I can really dig into the new features.

    Ganluan on
  • Options
    NightslyrNightslyr Registered User regular
    edited September 2009
    Ganluan wrote: »
    I am very interested in MVC that was mentioned earlier - it does have a much cleaner pattern than the previous frameworks. I'm hoping we get some licenses for VS 2010 soon so I can really dig into the new features.

    Ditto here. I'd like to know if the MVC framework can be installed in Web Developer Express 2008.

    Nightslyr on
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited September 2009
    Ganluan wrote: »
    Jasconius wrote: »
    Ganluan wrote: »
    MS has their own version called ASP .NET AJAX which you would want to use with C#.

    whhaaaaaaaaaat. no, no you wouldn't. It's inexcusably bad and not using it doesn't really rob you of anything unless you are so dependent on the .NET form controls that you have no business writing web applications.

    This isn't really a thread to debate on this, but I'd like to know where you get this from. I lead a team writing enterprise web apps used in a corporation with thousands of international locations, and we heavily use ASP .NET AJAX. Of course we write our own extensions and modify things that don't suit us, but that's not unusual. Your assumptions are entertaining though :P

    It's certainly not perfect, but no AJAX library is. Many corporations still use it heavily and/or exclusively so being familiar with it can be very helpful.

    I am very interested in MVC that was mentioned earlier - it does have a much cleaner pattern than the previous frameworks. I'm hoping we get some licenses for VS 2010 soon so I can really dig into the new features.

    I'm the lead javascript developer also for a large corporation, and everything I've seem from .NET AJAX is tripe. Especially from the AJAX Community Toolkit. Now, I understand that isn't code straight from Microsoft, but it is still sanctioned. My thesis would be that basically everything that .NET gives you that wouldn't have to be modified or extended could probably be written from scratch to perform faster and be more be even more extensible.

    .NET writes code for you, and it's rarely good. We're talking about the same framework that forces an inline style of border:0px on every asp:image control with no way to turn it off and demands on act of congress to insert a label "Page:" into an asp:gridview paging footer.

    The .NET framework is good but I find most of their controls to be absurd and subject to abuse.

    But, I'm also someone who doesn't even use the jQuery AJAX methods because I enjoy the granularity that making it from scratch gives me. So that should give you some indication as to how much I would like .NET AJAX even if it were made of dark chocolate and raspberries.

    Jasconius on
  • Options
    GanluanGanluan Registered User regular
    edited September 2009
    I wouldn't include the AjaxControlToolkit with ASP .NET AJAX, I've had nothing but problems trying to use it. Mostly because it expects a very specific set of circumstances and they're not that efficient to begin with.

    Ganluan on
  • Options
    LurkLurk Registered User regular
    edited September 2009
    So I am thinking of doing the javascript/mysql thing, can anyone point me to any good tutorials so I can get started? :lol:

    Lurk on
    415429-1.png?1281464977
  • Options
    LewishamLewisham Registered User regular
    edited September 2009
    You're not talking a lot of sense :) Very few people build database-accessing applications in Javascript, not even Rich Internet Applications try to do that.

    What are you intending to do here?

    I'd also suggest you learn database schema structure first (like Entity-Relationship diagrams). Good database form is a step far too many programmers don't treat with the level of respect it deserves, screwing them over later.

    Lewisham on
  • Options
    FightTestFightTest Registered User regular
    edited September 2009
    Don't let snobbery scare you away from common development platforms. There's absolutely nothing wrong with PHP or MySQL. Digg uses them. I doubt anyone here does anything larger scale than Digg.

    Also there's no point in worrying about Javascript at the start. Javascript is at the end of the road of web design. First you need to know how to make a page (HTML/CSS), then you can start doing server-side scripting (PHP/MySQL), and then you can worry about the flare Javascript offers.

    And btw anyone throwing stones at PHP had better not act like Javascript isn't a fucking mess of a language. Javascript is by far the least fun language I've ever dealt with, and I had to learn COBOL.

    FightTest on
    MOBA DOTA.
  • Options
    LurkLurk Registered User regular
    edited September 2009
    My inexperience with web is showing :S

    I already know a decent amount of html/css, so PHP/MySQL is where I need to go then.

    Lurk on
    415429-1.png?1281464977
  • Options
    robotbeboprobotbebop Registered User regular
    edited September 2009
    PHP feels great when you start out, but after a while you really start to see all the shortcomings. It definitely gets the job done, don't get me wrong about that. But it'd be nice if they had stuck to some basic sense during it's development.

    Also, should you pursue a career developing PHP, I'm going to warn you now: You will be required at some point to modify a third-party app (commercial or otherwise.) Simply because PHP so mind-numbingly accessible it will almost invariably be the worst shitpile of code you will have ever seen, until you have to look at the next custom/third party app.

    If you don't have the patience to work with intolerably bad code then start looking elsewheres I suppose. I've never actually worked with ASP.NET extensively. I'm starting to think I should though.

    robotbebop on
    Do not feel trapped by the need to achieve anything, this way you achieve everything.

    Oh, hey I'm making a game! Check it out: Dr. Weirdo!
  • Options
    JasconiusJasconius sword criminal mad onlineRegistered User regular
    edited September 2009
    FightTest wrote: »
    Don't let snobbery scare you away from common development platforms. There's absolutely nothing wrong with PHP or MySQL. Digg uses them. I doubt anyone here does anything larger scale than Digg.

    Facebook uses PHP too, but the reason that people like Digg and Facebook use PHP is because they are development gods and can bend LAMP to their dark purposes at will because they've been using it for the whole decade before other web technologies matured.

    If you already have C# experience like the OP does there's really no reason to not use .NET.

    Jasconius on
  • Options
    LewishamLewisham Registered User regular
    edited September 2009
    Jasconius wrote: »
    FightTest wrote: »
    Don't let snobbery scare you away from common development platforms. There's absolutely nothing wrong with PHP or MySQL. Digg uses them. I doubt anyone here does anything larger scale than Digg.

    Facebook uses PHP too, but the reason that people like Digg and Facebook use PHP is because they are development gods and can bend LAMP to their dark purposes at will because they've been using it for the whole decade before other web technologies matured.

    LAMP is built for pure speed. PostgreSQL was always the better open-source database, but MySQL went faster (and web jockeys didn't care about views or data integrity... and still don't), so they went with that. I presume PHP was settled on for speed of development and scalability, not maintainability.

    The benefits of some hacked together LAMP is a myth that we have fortunately all grown out of. That's why web frameworks like Ruby on Rails, Wicket, Lift, Django, Spring, Google Web Toolkit (I could do this for a long time) are all so popular, even for large traffic sites.

    Digg and Facebook are really the last decent examples of LAMP, that I know of.

    Needless to say, OP learns nothing about how to code well, and all about how to hack shit together. If that makes me a "snob", then so be it. Shit, even Perl programmers use MVC now (I know I did).

    Lewisham on
  • Options
    RhinoRhino TheRhinLOL Registered User regular
    edited September 2009
    a good setup IMHO is:

    javascript for the 'front end'

    php for the backend.

    MySQL (or sqlite if a smaller site) for the data base.

    Rhino on
    93mb4.jpg
  • Options
    FightTestFightTest Registered User regular
    edited September 2009
    Lewisham wrote: »
    A bunch of opinions.

    You're entitled to your angry opinions, but at the end of the day anyone can go plug "php" into a job search engine and then some of your "so popular" solutions and get their own answer.

    Also you should really drop lines like:
    Needless to say, OP learns nothing about how to code well, and all about how to hack shit together.

    because it just makes you sound really dumb. As if using Python instead of PHP will make a bad coder great and nobody has ever written anything good in PHP.

    Get over yourself, indie hipster of web tech.

    FightTest on
    MOBA DOTA.
Sign In or Register to comment.