Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×
Programming

Ask Slashdot: Value of Website Design Tools vs. Hand Coding? 342

An anonymous reader writes "I am pretty computer literate, and have a son who is extremely computer savvy. He taught himself C#, Javascript, built his own desktop with his Christmas and birthday money two years ago and is an avid reader of stackoverflow, reddit and many forums. He recently was asked to design a website for an architect, and likes to code by hand using Notepad++ and the Chrome developer tools. He uses CSS and Javascript libraries, but is convinced that all visual editors (Dreamweaver, Expression Web and so on) are only for extreme beginners and create non responsive, non compliant sites. I argue with him that while handcoding abilities are essential and great there is a value in knowing and using WYSIWYG editors. We agreed that having slashdot weigh in would be useful — comments appreciated on either the approach or good tools he can and should use."
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Value of Website Design Tools vs. Hand Coding?

Comments Filter:
  • SEO.....duh (Score:2, Insightful)

    by Anonymous Coward on Tuesday July 24, 2012 @10:26AM (#40749195)

    hand code it efficiently and your site uses less code, which means search engines can crawl it faster.

    WYSYWIG is for those who have visual talent

    hand coding is for those who want it functional

    if you can do both, you're very talented, and probably underpaid

  • by theNetImp ( 190602 ) on Tuesday July 24, 2012 @10:27AM (#40749215)

    WYSIWYG like Dreamweaver always write code that is hard to read so when you have to edit something manually it's a PITA. Also Dreamweaver tries to fix what you edit manually. Also DW etc all aren't always 100% compliant in their browser view, so things look great there and crappy elsewhere.

  • by penguinstorm ( 575341 ) on Tuesday July 24, 2012 @10:27AM (#40749217) Homepage

    I see Dreamweaver code, I expect nothing but pain.

    I like Panic's Coda, which is more of a web project oriented IDE than a Design Tool.

  • by hobarrera ( 2008506 ) on Tuesday July 24, 2012 @10:28AM (#40749235) Homepage

    Designers will always upvote WYSIWYG editors. Hardcore hackers will always defend coding themselves, instead of drag-and-dropping and following wizards.
    If you try to make a hacker use wizards to design a website, he'll fail, and the opposite also applies.

    As long as he's adept as using the tools he's using, then he'll most likely succeed. Personally, I prefer to code the website myself. Why? Because I can see the code completely, and understand what's happening, and what every line means. I can always fix any bug found, because I know where it lies. If I had used some tool to generate it, there'd probably be parts of the code that I wouldn't understand and wouldn't know how to fix.

  • by bobetov ( 448774 ) on Tuesday July 24, 2012 @10:29AM (#40749267) Homepage

    Hand coding is the only way to go. Modern web pages integrate HTML, CSS, and several different javascript libraries. They contain div's with dynamic content updated via AJAX. They are often built with templating libraries such as Rails' ERB, meaning you have code (conditional statements, for example) mixed into your page's HTML.

    DOM structure matters - with a WYSIWYG tool like Dreamweaver, you have no control over the actual content of the page unless you go into HTML mode and basically use it like Notepad.

    Your son is doing it the right way. If you want to save time, build a personal library of javascript libs and CSS snippets that you rely on. But skip the dedicated editors. You lose much much more than you gain.

  • by HarrySquatter ( 1698416 ) on Tuesday July 24, 2012 @10:30AM (#40749297)

    Hand coding doesn't mean you don't use tools to do your job.

  • Seriously? (Score:3, Insightful)

    by Anonymous Coward on Tuesday July 24, 2012 @10:32AM (#40749325)

    You guys are reversed from the typical roles I would have expected. It sounds like your kid is a developer at heart, not a designer. Those tools you want him to use are for designers, which is why he doesn't like them. He doesn't think that way.

    Find him something he can do as a developer, since it sounds like that will be where he's comfortable. There are too many "website design" people out there anyway.

  • He's Right (Score:2, Insightful)

    by Anonymous Coward on Tuesday July 24, 2012 @10:33AM (#40749343)

    There is absolutely no value in using a WYISWYG if your making any type of website beyond a small staicsote. If he he knows C# hes already using visual studio, and the skills learned using an IDE and its debugging tools are a much greater asset than learning to painfully try to force some WYSISWYG editor from slaughtering your code.

  • by Anonymous Coward on Tuesday July 24, 2012 @10:34AM (#40749367)

    I agree with your son, I have been professionaly building websites (backend and frontend development) in gedit for about 6 years now, so i might be a bit biassed. But _building_ websites with WYSIWYG editors (in "visual" mode) just makes you fight the markup the editor generates. It is also slower, since you will need to go to different menu's etc to set basic properties etc.

    That being said, using a WYSIWYG editor for adding images and text is a different story, I still have not found an example of a program that generates (imo) nice html but it can save some time. (though zencoding is a better way to save as much if not more time in my opion).

  • by ickleberry ( 864871 ) <web@pineapple.vg> on Tuesday July 24, 2012 @10:34AM (#40749371) Homepage
    I wish more websites were very basic. Too much Web 2.0 clutter in most of them now, that includes /.

    Gopher is a sigh of relief vs. Web 2.0
  • Re:SEO.....duh (Score:5, Insightful)

    by Pieroxy ( 222434 ) on Tuesday July 24, 2012 @10:34AM (#40749375) Homepage

    Not bad but most likely completely off the mark, at least in regards to the question asked.

    If you design a website for someone, you've lost right there. What you should design is a *system* and the first thing to design in this system is that who can do what with it. For one, whenever it's live, how much control does the owner of the website want over his website? Should he call you every time his phone number or opening hours changes and he naturally wants an update? Will you charge him for that? How much? What's your SLA on such requests? What if he wants a "quote of the day" ? Do you handle that by hand? Are you sure? etc.

    Start from there and drill down to the expectations of both parties. Then find a middle ground.

    Which tool should be used can only be defined afterward.

  • by bluefoxlucid ( 723572 ) on Tuesday July 24, 2012 @10:39AM (#40749451) Homepage Journal
    It's silly. WYSIWYG editors are a mess and of very little use; content management systems, however, are an excellent tool.
  • by eldavojohn ( 898314 ) * <eldavojohn.gmail@com> on Tuesday July 24, 2012 @10:40AM (#40749473) Journal
    Well, I'll start off by saying that your son sounds very smart and gifted -- although it also sounds like he is at that very special age where he knows everything. I too experienced such youthful bliss and ignorance but the only cure was time and experience. I might have even made similar claims that all visual editors are detrimental in some form or fashion. I have found myself shying away from absolutes like this and, actually, find it difficult to determine when something is "visual." Is the color scheme in my VIM and EMACS windows a "visual" editor? I find myself today locked in a love/hate relationship with several that I am running as I write this. I think the best course of action for you is to remind your son that nobody ever wrote a heavy integrated development environment with the intent of completely removing the burden of coding on the developer. Also, a solution that takes you 90% of the way quickly but still requires you to write out and augment that final 10% is still more useful than starting with nothing at all. I suggest you and your son work through the Rails 3 tutorial using scaffolds. This is an example where something from the command line augments your ability to stand up web applications quickly. I also suggest you do exercises with Eclipse (or I guess Visual Studio Express if he uses C#) and try to import 10 or 20 libraries into the project. Doing this with an IDE is much friendlier than doing this from the command line or hand writing ant/maven scripts.

    There's nothing wrong with doing everything by hand ... but then again, there's no reason to shirk productivity in the name of purity. When I was writing huge monolithic classes with no dependencies in college, I was doing everything in VI. Those days have passed, I must write modules that exist in a massive hierarchical tree for many teams now. I depend on IDEs and their integration with various other tools ... and I'm not ashamed to admit it.

    My rule of thumb is to let editors do the mindless work for you, but never let them do so much that you don't understand exactly what it is that they're doing. If you do allow them to do something so complicated you cannot understand it, you enter into dependence that cannot be undone. You will find yourself unable to augment the automation further and left with 90% solutions and unfinished projects.

    Perhaps another line of reasoning to use with him is to ask him to write a windows program using just 0s and 1s or hex in a hex editor. When he cannot do this, ask him why he is okay with C# augmenting his abilities to control the computer. Then ask him why he draws the line there and why not allow more code (IDEs and their plugins) to do more work for him. Sure, everyone draws a line in the sand and sticks to it. I've met kernel hackers that don't even trust compilers. If your son chooses that path, then let him choose his own path.
  • by vertseven ( 79013 ) on Tuesday July 24, 2012 @10:42AM (#40749507) Homepage

    Background: I've been a web developer since 1994 and have tried multiple visual editors from the beginning. And try to keep an open mind about new ones. But have yet to be impressed by the final outcome.

    What you see is all that you get with a WYSIWYG. You can design and move things around for a template, then build a website from that template(s). But when it comes to redesigning, adding functionality, or updating the website that was built entirely with a visual editor, things get messy very quickly. A visual editor doesn't know what the developer is building and for what purpose, so it attempts to work around the browser quirks in a redundant manner. This leads to extra JS and CSS libraries, snippets, and junk that isn't always necessary. For a secondary developer, all of this extra junk becomes confusing and will cause major headaches.

    Am I completely opposed to visual editors? No, but it is essential for any designer/developer to learn the mark-up first. Then, if it's essential for a specific project to learn how to use a WYSIWYG editor. But to always maintain a vigilant eye on what mark-up is being dumped on the pages.

  • Re:use a CMS (Score:5, Insightful)

    by bwintx ( 813768 ) on Tuesday July 24, 2012 @10:46AM (#40749569)
    CMS experience will be invaluable to him. Increasingly, companies are refusing to do it any other way. Unless you and he are absolutely sure he will never, ever have to work for someone else, he needs to learn the CMS way ASAP. I hate to say that because I've been hand-coding for 15 years, but it's also why I am saying that. I'll leave it at that.
  • by Applekid ( 993327 ) on Tuesday July 24, 2012 @10:50AM (#40749625)

    Why would you curse your children by indoctrinating them into the Microsoft ecosystem?

    It sucks, it's a minority technology (i.e. the various Java platforms are the dominant business technology) and Microsoft is on the way out.

    TFS:

    He taught himself C#

    Perhaps a better parent would discourage such efforts. If he doesn't study The True Language, he's a blasphemer and the books he's been reading should be burned.

    Holy wars aside, learning OOP goes beyond the syntactical sugar of the actual language.

  • Re:SEO.....duh (Score:5, Insightful)

    by Canazza ( 1428553 ) on Tuesday July 24, 2012 @11:39AM (#40750409)

    Let the artist design the layout in a WYSIWYG editor,
    Let the programmer design the delivery system in whatever IDE they want.

    WYSIWYG editors are useless for coding, likewise development IDEs are useless for design.

    A good design will let a programmer deliver their content in they way the designer wants.
    A good system will let the artist have reign over content placement.

    Your Art should be code agnostic. Your code should be design agnostic.

    This is why there are two professions. Web Designers and Web Developers. When I was working on my own, designing *and* developing sites, I used dreamweaver. Now I work in a team, with a designer, and I've barely touched Dreamweaver in years. It's not the 'novice' factor, it's because I no longer need to design a website. I develop.
    If the designer finds using Dreamweaver helps him develop faster, good for him. The great thing about HTML is that it can be passed from programme to programme and retain all its structure.

    No WYSIWYG editor, or programming IDE, can replace actually communicating with your team.

    The Article poster also mentions his son uses Google Dev Tools. Now, I'm assuming this is the Firebug-like console that lets you twiddle with the html tags and CSS values. Well, what's that if not a WYSIWYG tool?

  • by billDCat ( 448249 ) on Tuesday July 24, 2012 @12:40PM (#40751529) Homepage

    That's not been my experience with Dreamweaver for a long time, and I've been using it since version 3 in 1999. Back then it was one of the cleanest HTML editors out there and since then I think they've done a decent job of keeping it clean and keeping it from messing up markup you've added by hand. The issue that I see with how cruft is created in an HTML editor is from lack of familiarity with the raw HTML and CSS. For instance, if you just go ahead and start setting display properties on an element, it's going to put it inline or in a style embedded on that page. You have to at least know to set up an external stylesheet and how to link those styles to elements on that page to prevent that kind of cruft from forming. Also it makes a big difference to work in Dreamweaver's split code/design view, so that changes in one panel immediately show in the other. I've been coding by hand for a long time, but I still like having this view as it gives me confirmation that the page is structured the way I intended.

  • Re:SEO.....duh (Score:4, Insightful)

    by Eponymous Hero ( 2090636 ) on Tuesday July 24, 2012 @01:20PM (#40752193)
    i think you mean well, but these are all specious points.

    it's nice if a search engine can get done crawling your site faster than it did before. but there's no search algorithm that says, "wow that was pleasantly quick, i'm going to add relevancy points to this site simply because it was a joy to search." a site with 100x more content than yours but with information just as relevant as yours and full white hat obedience will take longer to index and still be ranked higher than yours. you could also hand code 1000 pages of efficient content and a competitor site that generated 100 pages of content can still load just as quickly and take less time to crawl. in the end, how fast the search engine crawled your site means jack shit. being a site worth visiting is still the best thing you can do for relevance.

    whatever this "visual talent" is, it's not enough to perform every task necessary in web development -- unless you're making brochureware, in which case arguing about hand coding vs editors is stupid. wysywigs are popular with beginners because they hold your hand through the easy stuff. if you know how to write code, and write it well, wysywigs just get in the way. as for not being able to produce compliant sites, not every site needs to be compliant, and as for non responsive, that has nothing to do with whether dreamweaver wrote the code or you wrote it in vim.

    everyone wants their site to function. this can be done by hand coding or with an IDE. i also deign to lump programs like dreamweaver into the IDE category. they are editors but they don't offer the advanced tools that IDEs provide. the tools they do offer are sometimes dangerous to have so close to your code, like the built-in ftp. one wrong click and your production site has all your broken dev code on it. i prefer to keep my ftp separate, like my kitchen and bathroom. ftp in your editor/IDE is like a toilet in your kitchen.

    in reality, the reason why this argument persists is that choosing one over the other requires a tradeoff, and we all have different things we're willing to give up. text editors and command line editors can be extremely fast to use when all the features and shortcuts have been memorized. they're not always easy to memorize, but you can get a lot done really quickly. however, IDE users sacrifice that speed for stability and organization. some text editors have plugins or modules to accomplish what IDEs do (like debuggers and intellisense), but they're never as good as IDEs. it's only about what you're comfortable with, and whether different kinds of projects you work on change your comfort level.

    it might be that if you're maintaining a fair number of simple sites, text editors are the way to go. you need to make changes fast and you need to oops undo those changes really fast. if you're working on one or two very large sites with multiple developers and you have numerous strictures to launching code, IDEs will most likely make your job easier and help manage the complexity for you. in my experience the coders who take advantage of the benefits of IDEs get the bigger, better paying jobs. i've worked with quite a few enterprise developers and they nearly all use IDEs. one exception is a guy who preferred a command line editor and ended up leaving programming for network administration. YMMV

If a train station is a place where a train stops, what's a workstation?

Working...