Monday, 13 September 2010

Development and programming: is coding dead?

   


After reading and answering questions on programming forums, I always wonder why people are getting so lazy. I understand that the way we write web sites or web application code has really changed in the last few years, but I still don't understand why programmers (or pseudo programmers - I'd say) don't want to write code directly and often search for quick and ready-to-use solutions. I do understand that some add-ons, plug-ins, frameworks and libraries are really useful (and I wrote about it in the post regarding jQuery), but it seems to me that the art of coding is really dying.
As an example, somewhere was asked advise on how to create a table in html. Fair enough! Beginners are beginners and they need help. A poor soul answered explaining in depth the use of the appropriate tags (actually he explained everything about <table>, <tr>, <td> and all the related attributes, linking to the w3school web site at the end). That was not a good answer! The discussion continued until someone posted the complete code and that's, in my opinion, totally crazy.
In the same forum, if a user posts a question about how to manipulate a grid view, for example using css to obtain colouring effects, it would be plausible and useful to others. Asking for the basics... well... it seems to me quite too much. Not that providing an answer is wrong, but expecting to have a ready-to-use solution without even trying to get into understanding it, seems to me not plausible.

I don't think that beginners will eventually learn something that way. When I started coding, I've used forums as a source of information, but - let me be a little bit direct - I always tried to use my own brain. I've always looked for sites where the basics were explained. I've looked for examples and used them, just to experiment and understand what's behind.

Now I wonder if I am old school. The future is quickly moving towards plug and play or drag and drop. I see people looking for ready-to-use pieces of code, gadgets and libraries more and more. There are online services that will help you build a form: you drag and drop controls and they give you the code. Who am I to say that those services are not useful? Well, they might be, but...

Let me put it another way. Is a modern painter able to draw a simple and beautiful landscape? I believe so. Knowing the basics, he could then express himself through different ways (extreme ways sometimes).
Using different tools and pieces of code, you can actually write good and clean code, assuming you know the basics (am I repeating the concept too much?) and assuming you will learn something new.

For example, that is what's happening with new development tools. To make things easier for beginners, everything is done with drag and drop. It seems that with this way of programming, you do not really have a full control of the code automatically inserted. When you try to validate the page... oh my!... it is a mess.
Again, those tools are useful if you know the basics.

There's another interesting effect I would like to consider: web documents size. When using new technologies and development tools, it is easy to create oversized web documents. Code optimization is not taken into account because there's not really need for it: connections are faster, web browser are more and more complicated and complete. Who cares if a page is 119Kb in size?

In the end, I am starting to believe that coding is becoming obsolete. What I mean is that hand coding is dying. And the knowledge of programming is getting less and less a real value. Will we ever see a programmer opening notepad and start writing <html... in the near future?

Please feel free to send me a comment on the issue via email. I would really like to know what you think.

4 comments:

  1. Hello, I can't see any replies to this, and feel you ought to as you put some valid points. It is 2012 now, so a long time since this post, but...

    I am an upcoming web designer. I have scouted through numerous blogs, most of them arguing if web designers need to know code (html/css/etc.), and then the confusion/debate between programmers and graphic designers. My initial goal is to find all the programs that are usually used by web designers, to become fluent in them all.

    In regard to what you wrote above, my personal viewpoint, in the direction that I've chosen to go, is that I started out seeing how it was done using PS, and have later explored DreamWeaver. How I feel is that I think we all have a view of how we want our sites to look like, and so some people may start off, or be tempted by tools such as DreamWeaver. But they will find, as I did, that instead of going backwards - it's far more rewarding to start from code and work your way up to design. Yes, you can 'cheat' using programs/platforms like DreamWeaver, but you will never have the freedom or cleanliness of writing your own code. Plus, there are sites out there, such as WIX, that make the whole process VERY easy, but make you pay to use e-commerce, and have strict rules about what you use their sites for. So = the good thing about learning and making your own code, is that you can get up to the same level as WIX or DreamWeaver, but through doing it yourself, and as you learn, not only will it be as easy as using these programs, but you will have more freedom and control.

    I think there will always be people who want to do it the 'quick way' (I know because I once did) and I'm sure that there are a lot of people who get by without learning very much code. All I can say is that, since learning code myself, after exploring most of the other ways, I can safely say that, even though new programs/platforms are coming out - code still makes up the very fabric of the sites, and is what these programs/platforms manipulate also. Thus, no one will be able to beat a master at coding. It's just the question of whether people are getting lazy? And if yes, then the quality and standards of sites will be very samey, low, and uninventive

    ReplyDelete
    Replies
    1. Thanks for your comments! You should have written a whole article about it!
      I agree with you, in general.
      The point is that things are not always understood by new programmers. I have comments to posts saying "Well... where should I put the code?". This is like saying to a mechanic "Where do I put the oil?".
      Sometimes people don't even know the basics but they want to try. That's good, however before trying, you should always understand and know the basics. When we talk about senior programmer, if those basics are not there, well... The new web development tools are surely easier than the old ones, but do they really help programmers?

      Delete
  2. Any self proclaimed developer should not use controls(Drag and drop) I.E gridviews etc..it defeats the purpose of fine tuned applications.

    I personally never use heavy controls, i create objects, fetch data and then spit out HTML. To be honest i have been guilty using generators for my CSS3 because ive not used CSS3 extensivly, my HTML5 is starting to get to a good level

    I use Jquery libraries a lot!

    As for designers ive got no idea (not a designer)

    ReplyDelete
  3. Developers should not use Wordpress, BlogSpot etc. If their developers then they should build their own blog.

    Why re-invent the wheel? because there developers. I'm really sick of this "cut and paste" and pre-packaced community!! How are they going to learn?

    My rant over but great article! Eventually it will be the leading software houses that code because we all live in a community that theres no real code left for us to do.

    I to use the same method as the above comment.

    Author follow me on twitter and ill do vice versa, Finally created a personal twitter account for my custom built blog that im going to launch over the next few days @TezWingfield

    www.tezwingfield.co.uk - not launched yet

    Regards

    Tez Wingfield

    ReplyDelete

Comments are moderated. I apologize if I don't publish comments immediately.

However, I do answer to all the comments.