Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

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

timothy posted more than 2 years ago | from the pre-built-motherboards-are-for-wimps dept.

Programming 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."

cancel ×

342 comments

Sorry! There are no comments related to the filter you selected.

Another worthless C# developer... (-1, Flamebait)

Anonymous Coward | more than 2 years ago | (#40749189)

...so who gives a fuck anyway

Re:Another worthless C# developer... (0)

Anonymous Coward | more than 2 years ago | (#40749295)

And your skillset is?

Re:Another worthless C# developer... (5, Funny)

KraxxxZ01 (2445360) | more than 2 years ago | (#40749341)

My guess is Objective-C and butt humping.

Re:Another worthless C# developer... (2, Informative)

Anonymous Coward | more than 2 years ago | (#40749357)

His skillset? Gettting first post on Slashdot, of course.

Re:Another worthless C# developer... (-1, Troll)

Anonymous Coward | more than 2 years ago | (#40749373)

Or really a terrible parent.

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.

Re:Another worthless C# developer... (-1)

Anonymous Coward | more than 2 years ago | (#40749453)

business technology? because you guys sound like such professionals right?

Re:Another worthless C# developer... (4, Insightful)

Applekid (993327) | more than 2 years ago | (#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:Another worthless C# developer... (0)

Slackus (598508) | more than 2 years ago | (#40749381)

Troll much?

SEO.....duh (2, Insightful)

Anonymous Coward | more than 2 years ago | (#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

Re:SEO.....duh (0)

Anonymous Coward | more than 2 years ago | (#40749283)

use a wysywig editor, try taking shortcuts by using HTML tables, or anything really outside of using only Div tags and CSS, and soon you'll have an annoying little SEO expert chanting the generic phrase "its coded wrong. its wrong. it needs to be redone because its wrong. its just wrong....."

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

Pieroxy (222434) | more than 2 years ago | (#40749375)

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.

Are there any (properly) working WYSIWTF editors? (0)

Anonymous Coward | more than 2 years ago | (#40749211)

I'd be happy to get rid of hand coding.

Re:Are there any (properly) working WYSIWTF editor (4, Interesting)

SJHillman (1966756) | more than 2 years ago | (#40749281)

It's been a while since I've used a WYSIWYG editor, I had to go back through and clean out a lot of unnecessary garbage from the HTML and make a few modifications. For some complex designs, it worked better than doing it all in a text editor but those were more the exception than the rule.

Re:Are there any (properly) working WYSIWTF editor (2)

JoeMerchant (803320) | more than 2 years ago | (#40749581)

With hand coding, I can do anything. With WYSIWYG, you tend to do the more tedious stuff more often because the tools make it easy.

With hand coding, I can always go back and modify something later. With WYSIWYG, the HTML it generates is generally so obfuscated that you need to use a tool to maintain it, and often you are effectively locked into a tool because many tools confuse each other with constructs that only they understand for editing.

Re:Are there any (properly) working WYSIWTF editor (0)

Anonymous Coward | more than 2 years ago | (#40749601)

A few years ago I tried kompozer. It seemed to keep clean code and give access to low level stuff. However, I think development has stalled.

Re:Are there any (properly) working WYSIWTF editor (1)

hackula (2596247) | more than 2 years ago | (#40749533)

Visual Studio 2010's designer works decently. If I am working in Webforms, I typically rough it out in the designer with dragndrop, then tweak it in the code. This works pretty well. Every once in awhile the designer craps out on a particularly complex page. In general this "roughing out" stage is only the beginning of a UI anyway though, so it is not like it makes that big of a difference. As far as VS 2010 goes, the designers for Winforms, WPF, and Silverlight are way better than Webforms designer, but it does the job OK to save a bit of time prototyping.
Basically, on any platform, if you know what the fuck you are doing, hand coding is going to be where you end up going anyway. Designers cause more problems than they are worth past the prototyping stage. How could you even make a WWYSIWYG for any sort of dynamic website (aka most stuff these days)? WWYSIWYG is pretty much confined to static small business sites by its very nature. With the advent of tools like Wordpress that are even easier than WWYSIWYG, there just is not much point.

Hand code or no code. (5, Insightful)

theNetImp (190602) | more than 2 years ago | (#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.

Re:Hand code or no code. (1)

Anonymous Coward | more than 2 years ago | (#40749351)

Try Frontpage 2003. holy jebus, it was like a form of tamper resistant DRM when it came to generating code. Bad days.

Re:Hand code or no code. (1)

mcgrew (92797) | more than 2 years ago | (#40749541)

I agree. Those tools have limited utility in a small number of cases. One of the few examples would be making a page with a map, where clicking on a state brings up a page on that state -- but I'd use the tools to create the map, just because it's a royal pain to do it without the tools. I'd copy the tool-generated code into the hand-written page.

But for the most part, I agree with the submitter's kid -- visual editors are only for extreme beginners and create non responsive, non compliant sites.

Perhaps things have changed since I last used one of those tools (it's been a decade) but I really doubt they've gotten much if any better.

Re:Hand code or no code. (0)

Anonymous Coward | more than 2 years ago | (#40749605)

I view a good library or framework as specialization in action. I view WYSIWYG generators as Rube Goldberg devices.

Dreamweaver is an abomination (5, Insightful)

penguinstorm (575341) | more than 2 years ago | (#40749217)

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.

Re:Dreamweaver is an abomination (2)

damien_kane (519267) | more than 2 years ago | (#40749545)

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

I do believe you need to hand in your geek card now.
Is one of the first things we learn not "Don't Panic"?

Re:Dreamweaver is an abomination (1)

dingen (958134) | more than 2 years ago | (#40749611)

Using something like Coda equals to hand coding in my book.

Clean Up (5, Interesting)

Anonymous Coward | more than 2 years ago | (#40749231)

My experience with WYSIWYG editors mostly consists of having to come back after and maintain the site. It has invariably been a mess. Half of my effort is spent organizing the code before I can work with it. I'm sure a graphical editor can be written to create clean code, but I've yet to see one. Then again, many developers create the same kind of problems when coding by hand...

Re:Clean Up (1)

CastrTroy (595695) | more than 2 years ago | (#40749689)

Exactly my thoughts. If you have people who don't know HTML and CSS well, you will get an unreadable mess regardless if you use WYSIWYG or hand code it. If you have people who really know what they are doing then hand-coding is best. But if you have a bunch of people who don't understand HTML that well, then you are probably better off going with WYSIWYG and dealing with the increased time to fix problems. At least you won't have to deal with people coding things by hand who end up forgetting to close tags, or do really stupid things like try to put a <br> tag between two <tr> tags.

Hand coding vs. Design tools (2)

XxtraLarGe (551297) | more than 2 years ago | (#40749233)

Hand coding is great, especially if you don't want to have to lay out the money for design tools, but if you already have access to them, use the design tools instead. You can save a ton of time using Dreamweaver's templates when designing a site. Also, if you use a split view, you can see the changes you make in HTML & CSS almost immediately. You still need to know how to hand code to be able to get through some really tricky parts, but let the design tools do most of the work for you, then tweak manually.

Re:Hand coding vs. Design tools (0)

Anonymous Coward | more than 2 years ago | (#40749769)

Personally I split the difference; there are some web oriented IDEs that give you features like autocomplete, debugging options, and integrate with your software repository. At the moment I'm using Jetbrain's Webstorm, but there are plenty of options out there that aren't WYSIWYG editors.

Mostly a matter of preference. (4, Insightful)

hobarrera (2008506) | more than 2 years ago | (#40749235)

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.

Re:Mostly a matter of preference. (1)

vlm (69642) | more than 2 years ago | (#40749413)

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.

Note that fix is defined not only as technical bugs, which are hard when handcoding and impossible with a GUI, but also "fix" as in the guy who signs your paycheck saying move this there, or slightly lighten the tone of gray across the site.

Re:Mostly a matter of preference. (1, Insightful)

bluefoxlucid (723572) | more than 2 years ago | (#40749451)

It's silly. WYSIWYG editors are a mess and of very little use; content management systems, however, are an excellent tool.

Re:Mostly a matter of preference. (0)

Anonymous Coward | more than 2 years ago | (#40749547)

Designers will always upvote WYSIWYG editors.

You need to stop hanging out with shit designers if that's your experience. Mind you, at least half of the "hand-code everything" designers that I know mostly favor that because they want to use the absolute bleeding-edge CSSeleventeen stuff...

Specialized IDEs are useful for... (0)

Anonymous Coward | more than 2 years ago | (#40749243)

Asp.Net, which I assume your son has dabbled in, knowing c# and all.

Couldn't imagine building an asp.net site using notepad++. He's right about expression blend and the like. They are utter garbage and serve no useful purpose.

Re:Specialized IDEs are useful for... (1)

hackula (2596247) | more than 2 years ago | (#40749681)

Yeah, he is probably using VS Express Web Developer 2010. VS is a terrific IDE, C# is a terrific language, ASP.Net webforms....barf! I hope he is using MVC with the Razor view engine. Webforms totally blows, but MVC easily rivals RoR or Django when you consider the power of the VS and the surrounding .Net platform. I know people love to hate M$, but in the real world where we need to get things done, VS is pretty much the best thing ever. I recently (6 months ago) switched my entire tech stack to open source tools and frameworks, and although I am enjoying just about everything, I really miss VS still.

No one writes software without tools (0, Flamebait)

na1led (1030470) | more than 2 years ago | (#40749245)

Imagine trying to program the software you use in machine code, without any tools to aid? Maybe back in the early days, it was done this way, but today everyone uses the necessary tools if you want your software / website to get noticed. Unless your website is very basic, in which case it will probably never get noticed.

Re:No one writes software without tools (3, Insightful)

HarrySquatter (1698416) | more than 2 years ago | (#40749297)

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

Re:No one writes software without tools (3, Insightful)

ickleberry (864871) | more than 2 years ago | (#40749371)

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:No one writes software without tools (1)

vlm (69642) | more than 2 years ago | (#40749515)

Unless your website is very basic, in which case it will probably never get noticed.

Ah see there's the problem. Noticed by who?

He has a contract to get the word out online about an architect, provide content and information that someone who hires architects finds interesting when google search drops them on the front page. If, instead, it gets turned into a game of "let me try to impress other web developers by whacked out trendy style hacks, with a secondary side theme of advertising his office as long as it doesn't conflict with my artistic vision too much and don't waste my time and stylistic effort by forcing me to include actual content" then it will fail because the only new business will be other web developers who also happen to be looking for an architect AND thought it was stylish and trendy, in other words just about no one.

Topstyle and... (1)

rtilghman (736281) | more than 2 years ago | (#40749249)

Probably a copy of Homesite (do not laugh!) or a couple other more recent apps that do a fairly good job in the same vein. Topstyle is a default though... I've yet to see a better CSS coding tool in terms of library and standards controls.

-rt

No professional developer uses WYSIWYG (5, Insightful)

bobetov (448774) | more than 2 years ago | (#40749267)

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.

Re:No professional developer uses WYSIWYG (0)

Anonymous Coward | more than 2 years ago | (#40749479)

Your business logic layer is on the same layer as your presentation? Yikes.

Re:No professional developer uses WYSIWYG (0)

Anonymous Coward | more than 2 years ago | (#40749623)

that's not what he said, he said templating libraries.

You want to tell me how I show or hide a div depending on a value passed from the model/controller to the view without some conditional logic?

Re:No professional developer uses WYSIWYG (1)

hattig (47930) | more than 2 years ago | (#40749747)

View Logic != Business Logic

Regardless, it appears that we are mainly talking about a static website here, so there's very little business logic (if any).

The Ajaxey stuff is usually used to update a browser view in a more clever way than the traditional entire-page-refresh.

Because the Ajaxey stuff is doing clever things with ID'd DIVs and SPANs, you need some decent control over your ID naming system so your Javascript knows where to insert/remove/update content on the page. Doing this by hand is far nicer than doing it in a WYSIWYG editor that probably hides implementation details like DIVs away from the user.

Or you could go the other way entirely and use something like Apache Wicket...

Re:No professional developer uses WYSIWYG (1)

mortonda (5175) | more than 2 years ago | (#40749591)

This. "DOM structure matters"

If you you are making an interactive or dynamic site, having good semantic markup is essential, and in any case, you'll have to peek at the source to wire it up. If you have to peek at it, why not just write it yourself?

Once you learn your text editor well (I prefer subliime text 2) you can probably code faster than the design tools anyway. The only thing I might want a design tool for is simply for finding the color scheme I want.

Why not do both? (1)

cpu6502 (1960974) | more than 2 years ago | (#40749279)

Use the tools to auto-generate the code, and thus save time, but then clean-up the final result to your own personal tastes. This is what I do with VHDL or Verilog. (Also a good way to learn new techniques from the generation program.)

Re:Why not do both? (3, Informative)

SQLGuru (980662) | more than 2 years ago | (#40749455)

It's a trade-off between speed and efficiency. The visual tools are faster for getting the page to look right, but horrible for the generated code. Hand coding takes longer but is much more efficient. The best of both worlds is to use a visual tool for the high-level layout, run it through an optimizer, and then hand-tweak the result for efficiency.

This turns out to be similar to the flow you'll experience "in the real world" working for a larger corporation. There will be a designer who uses the visual tool (if they make it past Photoshop) and then "throw it over the wall" to the developer who is left to clean up the mess. The developer will run it through an optimizer and then tweak the resulting code.

I will say that the Expression suite works really well in that it doesn't do horrible generated code and the tool allows you access to the underlying code. It's great for XAML, but it can do HTML, CSS, and Javascript.

Re:Why not do both? (1)

HarrySquatter (1698416) | more than 2 years ago | (#40749467)

Because it doesn't save time. WYSIWYG is good for knocking up a prototype design but it usually makes such heinous code that it isn't worth it to fix.

Notepad++ or Visual Studio (0)

Anonymous Coward | more than 2 years ago | (#40749287)

I code lean and mean html and css by hand. Visual Studio has IntelliSense for css (and javascript) which is nice and speed things up a bit.

Yes for Image Maps, No for everything else (1)

Anonymous Coward | more than 2 years ago | (#40749313)

Something like Dreamweaver is only really useful for polygon image maps in the rare instances that they are needed (I recently had to make one of those 'select your region on this map' links); for anything else, any competent developer or designer should be able to create layouts that work with arbitrary and abstract components - if the developer changes the data to show different or more/fewer modules on a page, the design should already compensate; if the designer changes the design, the developer should be outputting code in a standard format that should already work with the design

use a CMS (4, Informative)

osssmkatz (734824) | more than 2 years ago | (#40749321)

Using a CMS will allow him to use the CSS customizations he loves, and javascript as well, while giving the architect something they can maintain after he's gone. Many drupal developers now prototype in drupal gardens (drupalgardens.com) exporting it when they're done or have reached the limit of the hosted environment. Either way, lynda.com has tutorials on the three major CMSes (wordpress, joomla, and drupal) as well as how to choose. Dreamweaver is a useful tool, but CMSes are a much better way to go. --Sam

Re:use a CMS (4, Insightful)

bwintx (813768) | more than 2 years ago | (#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.

Re:use a CMS (0)

Anonymous Coward | more than 2 years ago | (#40749733)

Using a CMS doesn't mean you don't need to build templates.

Who codes a website these days? (1)

Sexy Bern (596779) | more than 2 years ago | (#40749323)

Surely a CMS-based system is the most efficient and maintainable approach?

If I was paying somebody to construct a site for me, you can bet that long-term extensibility and maintenance are going to be *very* high on the list of requirements.

Hand-coded websites, made by enthusiastic amateurs, don't fill me with confidence that both of these requirements will be fulfilled.

Re:Who codes a website these days? (0)

Anonymous Coward | more than 2 years ago | (#40749577)

If you think a CMS template ticks all your wants and needs in a website, you're right.

Any customization beyond that in terms of design, layout, branding and whatnot requires diving in the code and then the OP's question resurfaces. Do it with WYSIWYG or do the stuff by hand?

Seriously? (3, Insightful)

Anonymous Coward | more than 2 years ago | (#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.

WYSIWYG & CMS (0)

Anonymous Coward | more than 2 years ago | (#40749339)

Although one might feel a greater sense of accomplishment after hand-coding an entire website, it can become a gruesome task to modify it and keep it up-to-date. I know this, first hand, because during my days of learning PHP, MySQL, Javascript, and CSS, I spent countless hours on a single website design. After I finished, I sort of "left it alone" and haven't really updated it since.

It just makes more sense to learn how to effectively use WYSIWYG / CMS platforms due to the massive amounts of time that one would save in the long run. I'd encourage him to keep learning both styles.

He's Right (2, Insightful)

Anonymous Coward | more than 2 years ago | (#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.

Hand coding (2)

nomego (869651) | more than 2 years ago | (#40749347)

Hand coding will always have the upper hand for the competent. Especially when incorporating new technologies and techniques. Good code/system design, IDEs with syntax highlighting and other helper functions, build/verify tools (grunt/jslint/etc) and frameworks are the things that will accelerate developement. Frameworks like jQuery UI will take care of different browser hacks like design tools can help with, for example.

website = style (1)

vlm (69642) | more than 2 years ago | (#40749361)

"website coding" is very much like womens high fashion clothing. All that matters is what it looks like and who's promoting it. All form, no substance.

Therefore making engineering style analysis is a complete waste of time. It's like arguing which womens wedding dress is more structurally sound, or making the primary design decisions about womens fashion shoes by doing a finite element analysis. You're going about it wrong.

That said, it seems very difficult to do anything involving CGI without knowing how to hand code, so you'd best learn how. Not impossible, no, but you have to restrict yourself to weird brittle workflows and dependencies, or restrict yourself to weird platforms. Will an architect's website involve anything CGI related? Probably not.

Most likely just a huge whomp of content free shiny flash and animation. The kind of place I'd go to solely to find the "contact us" page and assume anything so highly polished is a waste of time to look at. So whatever is trendy and cool looking is the way to go. Which probably means WYSIWYG editors.

WYSIWYG is not for building websites (2, Insightful)

Anonymous Coward | more than 2 years ago | (#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).

Use the right tool for the job (0)

Anonymous Coward | more than 2 years ago | (#40749377)

The debate of WYSIWYG tools versus hand coding is like the debate as to what language to use.... and one size does not fit all. If the only tool you have is a hammer, everything looks like a nail.

Is there "great there is a value in knowing and using WYSIWYG editors"? Yes... he certainly should know them, and probably sometimes use them. Without that experience, he can't make an informed decision on when to use them and when to not.

Is using a WYSIWYG platform the wrong choice sometimes? Absolutely.

Also, at some point you will inevitably sacrifice performance for lower development resources (i.e. your time) and use a WYSIWYG where you would rather hand code, if time, money, and resources were unlimited. Knowing the pluses and minuses of different WYSIWYG environments is the key to making the best choice among them, and when to use them.

It's not one or the other (1)

Hentes (2461350) | more than 2 years ago | (#40749379)

It has been some time since I did web development, but I remember many WYSIWYG editors that you could configure to view the source on one side and the result on the other. Thus you could see what you did while handcoding, or could create a prototype quickly with the editor and find the parts that neeeded refinement.

There is value in both (0)

Anonymous Coward | more than 2 years ago | (#40749385)

WYSIWYG is good for ballparking things. I prefer to get the general layout established visually and then duck under the good and tweak the code until things are exactly how I want them to look.

Dad is Wrong. (2)

Ashenkase (2008188) | more than 2 years ago | (#40749387)

Young buck is right.

I'd say go for Notepad++ (0)

Anonymous Coward | more than 2 years ago | (#40749389)

The thing about WYSIWYG editors is that they can be used by people even with little to none experience and is a good entry if you have not encountered web development before. They also allow for rapid prototyping and often have inbuilt facilities to handle project management as well (which can become an issue for bigger projects. They do however generate quite a bit of useless code and tweaking some minor details by hand later on can be a bit fiddly.

Some say that you can just as well remove the extra code later on, but I find it that it's easier to just start on your own from scratch (or template) and build the website how you see fit. True, it takes more time initially and you are going to make some mistakes that could be avoided with WYSIWYG editor, but in return you are familiar with all the inner workings of your website and can modify any component relatively quickly (not to mention that you get more experience in web development this way).

Stop re-inventing the wheel (0)

Anonymous Coward | more than 2 years ago | (#40749395)

Have your son install Joomla, buy a 1 or 3 site license from Rockettheme.com, use their plugins and add-on tools, and then spend his time on customizing a professional-quality template. 98% of the work that he's proposing to do has already been done for him, and done by people who have years of design work and bug-fixing under their belts.

Re:Stop re-inventing the wheel (1)

dingen (958134) | more than 2 years ago | (#40749483)

You forgot to mention the part about your client's site getting hacked and you being liable.

Oy! (0)

Anonymous Coward | more than 2 years ago | (#40749399)

...is an avid reader of stackoverflow, reddit and many forums.

Frankly, Stackoverflow is probably the only good one and if he's doing C# and other MS tech, the MSDN Forums [microsoft.com] are another place he should hang.

As far as everything else is concerned - let him work and create the way he wants to. If he wants to do something stupid like code in emacs (I kid! I kid!) then let him.

I argue with him that while handcoding abilities are essential and great there is a value in knowing and using WYSIWYG editors.

Absolutely! 1. It'll help him with employment - a buzzword to add to his resume.

2. Many times I use WYSIWYG editors to to do the grunt work for me and then I go back and tweak code where needed. I have to say that these days, those editors are pretty damn good. And I'd also like to add, one day - someday - this typing code will disappear. I think it's ludicrous that in this day and age of powerful computing and GUIs and touch screens that we're STILL typing?! NeXt had this awesome drag and drop application builder years ago and it seams that Jobs didn't take that with him to Apple. What was deal?

Application programing should be as easy as using a TV or your cable box.

Save the intense coding and whatnot to the systems, tools, and system and "programing" guys.

Your son is right (1)

james_van (2241758) | more than 2 years ago | (#40749411)

WYSIWYG editors are great for beginners. but, as most everyone has pointed out, they invariably generate messy code. once you've gotten past the beginner stage, you need to get your hands in the code and learn to do things properly. i realize that designers are often quick to say that you should use an editor, but lets look at it this way- would you take carpentry advice from a plumber? probably not. so why would you take advice on coding a website from a designer? and as for using the tools to generate the code, then going back and cleaning up, personally i find that to be more work than just doing it right the first time. hand coding isnt hard, and the more you do it, the faster you get at it.

Re:Your son is right (0)

Anonymous Coward | more than 2 years ago | (#40749561)

I agree that WYSIWYG coders like Dreamweaver are great for beginners. I used it for years to make simple quick web pages for my personal use. I learned HTML the hard way - hand coding. For what I used HTML for, using Dreamweaver made the process quick, and hand coding made the process exact. By that I mean I could whip up a nice looking page in DW and then hand code specific aspects of it to suit my needs. After I exited the IT field 10 years ago, I lost my HTML coding experience due to lack to usage, and still find DW to be easy enough to whip up a new page if the need strikes. For people like me, DW works exactly the way its intended to. If I need to hand code something, I can, but now I generally don't. If I need a "real" web page, I'd pay someone to do it. But I don't need anything professional for my personal use, so DW works for me.

As far as using it in a professional environment, well that's basically up to the individual. When I was writing code, I could see the limitations of DW. I never really got much beyond those limitations, but my coworkers frequently did.

I'd say that for personal usage, DW fits the bill. In professional area, DW might be a limiting factor. But in reality, if I pay someone to make me a web site, I don't care if they hand code or use DW or whatever, as long as it works and fits my criteria.

design versus coders (1)

Anonymous Coward | more than 2 years ago | (#40749415)

In industry there is typically a line between designers and coders, designers work with css and html in a WYSIWYG editor, while coders ensure that back-ends and javascript are performing the functions required of a web application. As a coder who sometimes ends up doing designs I can absolutely say there is nothing humble about adjusting html and css and refreshing in chrome to see if the changes were what you expected.

Ask your son how he fine tunes a layout, if he is an adjust/refresher then his ideology behind WYSIWYG is out a perceived self-eliteness.

Could but Shouldn't (1)

Quick Reply (688867) | more than 2 years ago | (#40749425)

I could craft a Table cell-by-cell but why should I when I can get a simple tool to do it for me. Foundation coding skills are essential but you also got to see the realities, and some tasks are quite simply a waste of time to do manually.

WYSIWYG = Waste of time (1)

Anonymous Coward | more than 2 years ago | (#40749429)

WYSIWYG editors are a waste of time. You may like what you see on the screen when you create your design but the code that it generates it complete crap. And when you use a WYSIWYG editor you ALWAYS will have to go into the code to fix, change and alter things here and there. And since the generated code is complete crap, it makes it a pain in the ass. I'm a professional web developer and I don't ever use WYSIWYG editors. Ever. Waste of time.

Your son is right (0)

Anonymous Coward | more than 2 years ago | (#40749445)

At least with respect to Dreamweaver -- it's a piece of crap.

It is best to handcode, or use frameworks and templating libraries that have been hand-coded. They create code that is human-legible, and the more time spent actually coding the better a programmer he'll become.

Not saying there aren't good graphical tools to *help*, Firebug is an invaluable resource in figuring out what has gone wrong. Selenium is great for automating tests in the browser and actually run them in the browser, while Zombie lets you run some of the tests faster but in a fake browser in a Node.js environment.

But editing your website ought to be done with a good text editor or IDE, because you should be abstracting repetitive tasks into functions (that Dreamweaver could never understand).

Ah, To Know Everything Again (5, Insightful)

eldavojohn (898314) | more than 2 years ago | (#40749473)

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.

Unnecessary abstraction (0)

Anonymous Coward | more than 2 years ago | (#40749475)

(What follows is ironic as I am building a WYSIWYG web page tool.)

WYSIWYG editors are an unnecessary abstraction that keeps the developer firther away from their medium. They are useless as soon as soon as you want to do anything complicated or modern. They cannot keep pace with standards and techniques, and add a dependency of a third party tool. Their output is always more cumbersome and convoluted than hand-edited code. Knowing how to use one does not aid a developer's understanding of the web (though knowing how to code aids a user of those editors).

For starters, no more Reddit (0)

Anonymous Coward | more than 2 years ago | (#40749491)

Its a terrible place with terrible people. Avoid at all costs!

The correct approach (1)

claytongulick (725397) | more than 2 years ago | (#40749495)

As with most things, the correct approach is a balanced one. Going to extremes on either side of the issue with invariably result in negative consequences.

Having an in-depth knowledge of html, css and javascript is crucial to effective web development and design. Having design/graphical tools let's you step back from the code and see things in a "big-picture" light, allowing you to create innovative designs that you probably wouldn't have considered otherwise.

I generally use both approaches. I like to use Artisteer to generate random designs to get concept ideas (I'm not a graphic designer). When I find a concept I like, I take the generated results and convert them into the final code I want. Here's an example of that approach: Master Iron Company [masterironcompany.com]

Sometime I take the hand-coded approach if I'm just playing around and experimenting. Here's an example of that: MotorTap [motortap.com] (a product I developed, and make the web site for).

Re:The correct approach (1)

claytongulick (725397) | more than 2 years ago | (#40749615)

*sigh* my kingdom for an EDIT button on slashdot. How many typos and errors can a person make in a single post? Sorry.

There is not value in "knowing" WYSIWYG for web (0)

Anonymous Coward | more than 2 years ago | (#40749497)

I argue with him that while handcoding abilities are essential and great there is a value in knowing and using WYSIWYG editors

Don't get me wrong, I like the idea of tools that provide real-time feedback of the "end product'. To date I have not seen a web editing tool that actually is WYSIWYG.

There is value in these tools if you have zero desire to become adept at making web pages / web applications, ie you're doing a school project.

If you actually want to make something decent, the WYSIWYG editor is going to hold you back. This is especially true WHEN the proprietary firm that creates your editor changes their interface.

WYSIWYG is just that. (3, Insightful)

vertseven (79013) | more than 2 years ago | (#40749507)

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.

Tools vs Hand-coding (1)

wolfguru (913659) | more than 2 years ago | (#40749529)

Tools have their limits in some things, and what they do, they may do well but hit the wall on some specifics, and their code may not be optimized for performance. That being said, hand coding is VERY limited, for several reasons. First, self taught people tend to have gaps in the knowledge and practices of the areas they have studied, no matter how talented. There will be things that any hand-coder will try to do a specific way that is familiar to them, where better, if more complex, options exist through the tools. The most important thing about hand-coding is this: it is virtually unsustainable over time. I know that is a very broad statement, and will raise the hackles of some excellent and talented coders, but anyone that has done any long term support will tell you than out of the hands of the original coder, hand-coded systems fail in one important area - no one else can go in and fix them when they break, and even the original programmer will find it difficult to support a site he hasn't touched in a year or more. If he wants to hand code, teach him to comment everything, period. External documentation, commented code, clear process identification and threading are as essential to the success of a hand coded site as the code itself, but most coders will admit that this is something they do as an afterthought at best, and they consider a nuisance and a distraction from the project. The simple truth is this; if you cannot explain it on paper well enough that someone with no access to you or your thought processes can see what you have done and make the necessary changes or repairs, what you have built is, in the long run, a throwaway. Talent means a lot in creating a good site, with or without the tools. Tools provide a level of "documentation by process" that enables someone using that tool to look at a site and understand its internal processes. Very few hand coders, in my 30+ years of experience, can or do provide the same level of sustainability and the problem of the essential application or process that the developer has long since moved on from is an axiom in the IT world. It is not that tools or hand coding are either one better than the other in the end; the result is much more than the page view, and that needs to be addressed, either by using the tool, or doing the documentation the hard way. Without that, great work becomes great problems over time.

Hand coding outweighs WYSIWYG (0)

Anonymous Coward | more than 2 years ago | (#40749557)

When I initially start working on a website or webapp layout and design I like to use WYSIWYG to set the initial stage and design the first forms.
But after that it's all hand coding - WYSIWYG editors create too much noise and clutter in the end that you have to modify or remove by hand.
I do like Dreamweaver, but I don't use it much.

Professional web designer / developer here (0)

Anonymous Coward | more than 2 years ago | (#40749559)

Your son is correct, no professional (I've ever met or spoken to) uses WYSIWYG editors. I used to use dreamweaver as my code editor, but never even looked at the non-code view. Now I use sublime text for all my code editing

I am an artist and I do not believe in Tools :3 (2)

Quakeulf (2650167) | more than 2 years ago | (#40749563)

I am probably one of the least technically inclined people codewise to visit and post on the Slashdots, but I have done my fair share of websight design throughout the years and I end up doing everything back-end in Notepad++. The design I do in whatever image editor is suitable, then I assemble the pieces in Notepad++ afterwards. I have also used Notepad++ when doing PHP and creating and maintaining simple image galleries and so on. When given the choice I have done things hand coded and pushed it through the W3C and as soon as it is validated and tested in a whole lot of browsers I give it back to the client and run for the hills [theoatmeal.com] .

Here we go again... (1)

doctechniqal (516085) | more than 2 years ago | (#40749571)

Less filling! Tastes great! LESS FILLING!!! TASTES GREAT!!!!

WYSIWIG Pros - For a general audience. Relative ease of use, fast results.
WYSIWIG Cons - Manual overrides difficult. Cross-browser compatibility issues. Ties the site maintenance to a specific vendor (barring a full rewrite).

Hand-Coding Pros - More & complete control over all elements. Site maintenance not tied to a vendor.
Hand-Coding Cons - Steeper learning curve. Not for a general audience. Longer development time (generally).

Kid got it right (0)

Anonymous Coward | more than 2 years ago | (#40749575)

Design tools are fine for making mock-ups of sites and can be good for designers to quickly get their points across. But for the actual creation of a website, they're terrible. Hand coding is the only way you will get readable, easy-to-edit, flexible, efficient code. If this website your son is designing is more than a page or two of static information then he is right in wanting to do it by hand.

Google: "the story of mel" (0)

Anonymous Coward | more than 2 years ago | (#40749579)

I think you will find it addresses this question.

Sincerely,

A. Coward

Take a deep breath, and step back. (1)

takiysobi (2542620) | more than 2 years ago | (#40749595)

Dear poster, ask yourself if you are really entitled to opinion in this argument. It sounds like your son has things figured out, and you don't.

I also second other posters who mention CMS. If he is so excited about C# he may try Visual Web Developer Express and poke around Microsoft web development ecosystem. They got some nice toys, like WebMatrix. I myself would stick to vi, gimp and browser built-in tools when I work with WordPress or some such CMS. I fancy Opera recently, but all major and free browsers have descent developer tool-kits. Everything else is redundant.

Common sense for design, hand code for coding (1)

sebastianlacuesta (1500095) | more than 2 years ago | (#40749607)

If your son is competent at coding, I think he should take a look at the following book: "Don't make me think" by Steve Krudge. Then do some design by using pencil and paper or a tool like the "Pencil" addon for firefox. Once the design is there, then code using a tool that does content assist or intellisense for html, css & javascript. I don't know anything about "beautiful design", but I think he should try to learn this area from design people. Once all of the ingredients are there, he should become kind of "invincible".

Hard coding is the way to go (0)

Anonymous Coward | more than 2 years ago | (#40749663)

Let him code it himself; it'll be much cleaner than using something like Dreamweaver.

Instead, some more useful tools to introduce are:
- IDE's (Aptana, for example, a 'tuned' Eclipse specifically for webdesign)
- Backend frameworks (Django, Ruby on Rails, ...)

Your son is right (1)

cozziewozzie (344246) | more than 2 years ago | (#40749671)

It's not that tools like DreamWeaver are ALWAYS the wrong tool -- they can be useful for graphic designers with little computer knowledge -- but your son is a programmer, a tinkerer, who uses advanced editors, likes to understand stuff he builds in detail, and is not afraid of programming and editing by hand. I'm willing to bet anything that he will create better looking, more reliable, more standards-compliant and more correct webpages in less time if he learns the basics of modern HTML/CSS than he would if he mucked around with DreamWeaver and the like.

I'm not a web-developer, but I have a fleeting knowledge of HTML (most of it from early 90s) and CSS (most of it from early 00s). My girlfriend is a designer and asked me for help with a web page she is developing. Nothing complex, but quite meticulously laid out, lots of pictures, hover-effects, menus, and the like. It took her many weeks of hard work to produce the GIMPed designs for me to work on. In less than a weekend, I had it running in all major browsers using nothing but vim, and this includes looking up most of the needed stuff on the internet. The code is clean, reusable, validates (both HTML and CSS), and works in all major browsers (I might need to add some IE6 workarounds, but I probably won't bother, let it burn).

So anyone who is a coder should be able to pick the basics up in a couple of days, and this will be infinitely more useful in the long run than learning the quirks of a Web design program.

Your son is very wise (0)

Anonymous Coward | more than 2 years ago | (#40749683)

In my work (developing Smart TV SDKs) I try to convince people that they should focus on performance, and that frameworks - the more advanced version of easy dev tools - can(not always ofcourse...) lead to bad sites. While wysiwyg, being even more simpler than frameworks, can help get quick results, it is only to be used as a stepping stone.

Website Design Tools helped teach me to hand code. (1)

brennanw (5761) | more than 2 years ago | (#40749695)

Basically I would create something using Dreamweaver, then look at the html, then change the html to see how it changed the page.

I think at the end of the day it depends on what you're doing, though. For very simple sites, a website design tool can produce clean code, depending on how you've configured it, and it'll be faster to use a GUI for a simple site than anything else. But the more complicated your design gets, the more junk it's going to throw in to get it to look the way you want. And these days so many websites are database driven that website design tools are a lot less useful than they used to be. Most of the time I don't create websites, I modify templates... and that means moving around php fields and changing divs and then mucking about with cascading stylesheets. I've lost track of the GUI apps these days, so I don't know if they've adapted to this new world, but when I started using WordPress and Drupal, Dreamweaver got a lot less useful.

At one point in time, when I'd largely abandoned design tools altogether, I still kept Dreamweaver around because it had the hands-down best search and replace tool I'd ever encountered, and I could use it to search and make changes in entire directories of css, html and php files.

VIM (-1)

Anonymous Coward | more than 2 years ago | (#40749701)

Give a man vim, and he'll recognize something on every *nix system.

Teach a man vim, and he'll never want to use anything else.

Web pages are hard (1)

ExCEPTION (102399) | more than 2 years ago | (#40749711)

A web page is a data structure made of HTML, and then apply some CSS (or a lot), and later you might want to add some unobtrusive javascript.

That is a very complicated process.

At work, I tell the graphics designer don't ever worry about the technical stuff, just use photoshop or whatever he likes to create the pages he desires. The advantages of this is he would focus on design not coding. When the design is out, I would let him create the basic HTML with a few guidelines, such as tables are for tabular data, use ul for menus, and always have alt attributes for images. The HTML will be modified by developers and CSS applied. I will never expect a graphic designer to understand HTML and especially CSS. If lots of developers can't have a grasp on CSS, it is harsh to expect designers to understand it.

Most HTML + CSS pages produced by designers whether by hand or by WYSIWYG editor are shit. They got rewritten anyway. The process of 1. HTML, 2. CSS, 3. Javascript really don't need too much WYSIWYG. The only value I can see in WYSIWYG editors is when we are on a tight schedule, maybe the designer could make some page quickly for us. Unfortunately, the lack of knowledge in CSS would probably make the result look really bad.

Hand Coding for Maintenance (1)

Ramley (1168049) | more than 2 years ago | (#40749741)

I got rid of all WYSIWYG a long time ago.

As an independent web application developer. I receive visual mockups from a designer (in Illustrator, Photoshop for example), and convert them (by hand) into maintainable web pages, as far as the HTML/CSS is concerned.

It takes a little longer to create the initial HTML layouts and CSS, but in the end, it's much easier for me to quickly update and maintain over time. Things are 'built' and formatted exactly as you need them to be, and keeps things much more efficient in a number of ways.

It seems to depend on what your needs are, and how complex the design/app you're working with, etc.

Matrix (0)

Anonymous Coward | more than 2 years ago | (#40749755)

"I don't even see the code anymore. I just see blond, brunette, redhead..."

No matter what tool I use, I end up in notepad at some part of the process.

Short answer (0)

Anonymous Coward | more than 2 years ago | (#40749765)

Sorry, but your son is now ahead of you in this area. Your advice is now irrelevant. Let him me and maybe you might learn something.

The problem with WYSIWIG not mentioned yet (1)

davidannis (939047) | more than 2 years ago | (#40749767)

It sounds to me like your son, like me, is not going to spend a lot of time designing sites. I've helped with the occasional site done in a WYSIWIG editor. Every time, I have a steep learning curve and when I come back to it 2 years later because the owner needs a hand again I have to learn a new version of the software in which they have inevitably moved something on the menus, changed the layout of the controls, etc. It's a royal PITA. Sure, if your son is going to code a site a month a WYSIWIG package may be worth the effort, but I'm betting he has better uses for his time than designing sites at this point in his life.

IDE all the way (0)

Anonymous Coward | more than 2 years ago | (#40749775)

I am a developer first, but I also consider myself a designer. Those who are grounded in manual coding know that a WYSIWYG design tool creates unreadable and almost unmaintainable code. This makes it especially difficult when you are trying to debug something, though firebug does help. While I recommend against WYSIWYG tools, there is a middle ground...IDEs. IDEs, such as Eclipse, allow you to mess with the code and even have design views so you can see it as you build it. They also offer autocomplete for those times when you arent' quite sure what attributs are availabe in which tags. So, while it may not make creating pages as easy as a WYSIWYG tool, it gives you more than a standard text editor. Plus, Eclipse is free.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?