The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

C'mon people, Dreamweaver is just another tool. I think we can all agree that an application can "help" you get the job done, but you shouldn't rely on it; you need to have the skill-set without it.

I can hand-code in my sleep, but if I have the opportunity to use a tool like Dreamweaver I will--not to have it "write the code for me" but because I can work a lot faster in it's interface. I can use it's code-checking abilities to find errors quickly and easily, I can find and replace easily--globally if needed, I can check links, run error reports, etc., etc. And Dreamweaver isn't the only editor that has these abilities, it's just a really, really good one.

C'mon people, Dreamweaver is just another tool. I think we can all agree that an application can "help" you get the job done, but you shouldn't rely on it; you need to have the skill-set without it.

I can hand-code in my sleep, but if I have the opportunity to use a tool like Dreamweaver I will--not to have it "write the code for me" but because I can work a lot faster in it's interface. I can use it's code-checking abilities to find errors quickly and easily, I can find and replace easily--globally if needed, I can check links, run error reports, etc., etc. And Dreamweaver isn't the only editor that has these abilities, it's just a really, really good one.

I find it pretty basic and limited compared to vim. Have you tried anything other than DW?

I've used everything from plain ol' notepad to TextMate, TextWrangler, BBEdit, Visual Studio and others--whatever the job requirements were and applications required per my employer. Sometimes I had a choice of apps, sometimes not; which I imagine is fairly common.

What I find ignorant is people who think you can't produce good code unless you hand-code in a text-only editor and then look down on others for making a different choice.

What I find ignorant is people who think you can't produce good code unless you hand-code in a text-only editor and then look down on others for making a different choice.

For me it's not really about the quality of code but the productivity level. I can do things 5-10x faster in vim than in other text editors, the quality of the code is entirely dependent upon your skill level and knowledge if we're talking about programming in general. In a web environment, mediocre code is usually the output of an editor mainly used for WYSIWYG. Sure, you can have the best markup using a crappy editor but when there are better and more efficient editors out there.. I really don't see a point to limiting yourself.

I can do things 5-10x faster in vim than in other text editors, the quality of the code is entirely dependent upon your skill level and knowledge if we're talking about programming in general.

Yeah for having choices so we can each find what works best us,
and yes, you're right, the quality of the code is often completely independent of the choice of editor to use.

Originally Posted by SoulScratch

In a web environment, mediocre code is usually the output of an editor mainly used for WYSIWYG.

It can be, but going back to your first statement I think we would agree that it's the skill-set lacking here. There's always going to be those on a learning curve and some who just want to get by and don't really want to do better. We can only help the first and ignore the second (well, unless it's your job to fix the crap they produce...).

Hey Another Designer. It looks like you've sparked a healthy discussion here.
I have been in this situation before, albeit in the bosses shoes.

Perhaps due to the fact that I can hand code HTML/CSS myself makes a difference, but it appears that your boss, and perhaps the programmer too, is not giving you enough reason for their decision.

Personally, I'd only hire someone in your position that can already hand code, but since you're already hired, your boss needs to set down what it is that you need to be able to do.

As a lot of people have mentioned, if you want to consider yourself a "web designer" in this day and age, you need to be able to code by hand, unless you want to only be a "designer" who hands over to a markup guy...

Perhaps your company's workflow needs to be looked at too. We work primarily in PHP, but I think I'm correct in assuming that if you were to present your programmer with well written, easy to read HTML, external stylesheets and everything intuitively laid out, they should be able to take it and amend it to their dynamic needs. If not, then their competence needs to be looked at.

My opinion on what needs to be done:

Your boss needs to explain things better and possibly learn a bit more about the industry you're in

You need to learn to code by hand or step down as the markup guy and hire someone else to do that (beware, this could spell your employment demise)

Your programmer needs to have their skills assessed and either brush up, step down, or have somoene step in to help them

All in all, I think a consultant of sorts would be your best option to figure out what the problem is and recommend the best course of action.

Last word of warning... I have a friend who was fired from a firm in London with the reason cited as being "below industry standard". Get your skills to a level of this not being a possibility and you'll retain your gainfully employed status.

SoulScratch,
Thank you for taking the time to describe in detail how you code in vim. Your post is very informative, and I'll be saving a copy for future reference. As I read the account on creating a 15 item navigation menu by recording keyboard combos I kept saying to myself, "wow", and "cool". Your post opened my eyes to a whole new world I hadn't been exposed to before -- I currently use Notepad (the plain kind that comes with windows, not the ++ version) . I heard of vim years ago and did not try it because I thought it was only for unix -- but while composing this post I took a quick look at the vim site and discovered it comes in pc versions as well. Cool! I was planning to graduate from Notepad by moving-on-up to UltraEdit, but now will go ahead and give vim a try instead. Thanks again!

Originally Posted by SoulScratch

Across the span of 3 monitors, I have a minimum of 6 windows open ( so i can look at the source for all 6 at once ) so if I'm working with front end apps, I can edit the ecmascript/css/markup and the logic on the backend all at once by jumping between the windows instead of ctrl tabbing through silly tabs.

Sed and awk make search and replace a breeze on unix. I can define an area, whole document, portions of a document, directories, and not only can I do that but on linux I can automate things such as say, match this regex for this directory, and depending on the operation I can insert things in a database or a text file, things of that nature. It's just not limited by the software I'm using, since I can program it to do whatever I want.

As for regexes, once you get the hang it's not that hard, and most of the time its simple string replacements such as :&#37;s,foo,bar,gc where 'foo' gets replaced by 'bar' and the c modifier denotes that I can hit y or n to replace or not, depending on whether its in a substring and not alone, sometimes faster than compiling manual regexes. Confirmation is a god send, I remember on windows you could only just replace and you'd have to undo and go back and check everything you replaced.

Back to regex compilation, I can define my own functions for common regexes. I have a function to convert all literal symbol characters to their entity / references instead, so a literal bullet sign would turn into &bull; et cetera, I have around 50 or so right now and I can keep on adding them. I can do this across directories, files, sections with *one* function call.

For example, the usual way people code a semi graphical nav that is reliant upon images due to the design, most people just handcode every single bit of it.

and you'd code each list item this way, but with vim, this is what i do

primary-about|About
primary-contact|Contact

Then I record my keyboard combos ( which I'm pretty fast with now ) for the first list element ( adding the <li id=" before the attribute value, jumping to the | and adding the end quote, removing the | and adding the span around the text.. so if I had 15 or so items I would record myself doing the first, and do 14@a which applies the same combination for the next 14 lines, and from then on I'm pretty much done ( unless its adding some logic for current state, et cetera ).

I have snippets that control my tab sizes, code formatting depending on the filetype which I have personally customized.

And there are loads of useful plugins for HTML editing - jumping to the end tag with %, which is the native operator for jumping between ()'s and {}'s for programming.. I can commit my files to svn/cvs/git with vim instead of jumping to a file explorer and having to do it the slow way.. I can emulate Textmate snippets with a vim plugin... I can add/change/modify quotes and start tags with a vim surround plugin instead of doing it manually.. so to get rid of the quotes from "hello world" i just type ds".. there's a plethora of other things that make vim the best editor for text manipulation, and I haven't even been using it for more than 4 months so I'm still learning the capabilities.

I used to think I was fast on DW because I knew all the little windows shortcuts ( ctrl shift end + delete, ctrl shift a delete, shortcuts for windows explorer, et cetera ) , but I'd say I'm around 3x more productive than I was earlier this year.

Just because you think it's impossible doesnt mean it is. Remember the time when people used to say that people are less efficient because they're not in Dreamweaver design view or any WYSIWYG for that matter? And the more experienced you get, the more you want to hand-edit files instead of drag and drop, silly file prompts? Using vim and no mouse is just the next step up, basically. It seems very unorthodox and strange at first, but it's more productive if you have the willpower to learn it.

Anytime I'm forced to use a normal text editor ( whether a co worker needs help ) I just find myself disabled, like I'm in a wheelchair.. basically.. I just can never go back because of vim.

Originally Posted by BrandonK

I've never been able to use vi very well. In my Uni classes, we were supposed to use vi, but even after 3 weeks of trying to learn it, I got frustrated trying to do the simplest of tasks. I use Textpad and DW both, and I am very, very fast with them. I don't understand how you can work without a mouse!

I am constantly working with multiple documents opened at once (in a tabbed interface), and reusing code between them. Also, search and replace across selected text, selected document, open documents, selected directories and defined "sites" is huge sometimes. Creating one time use regular expressions in the command line is ridiculous definitely not an efficient use of time (but if ever needed, may text editors still offer that).

Originally Posted by SoulScratch

vim = emacs > textmate > any other text editor created on earth

Much props to gurus like AutisticCuckoo who keep using it to this day, I'm forever thankful for this ancient yet modern godly piece of technology which is far more productive and efficient when taken the time to learn than anything else thanks to the power of modal editing, and 100% customizability, as well as native unix compatability so I can hook it up with unix methods for even greater efficiency. Oh I remember the times when I was a sad, slow, unproductive coder using programs such as e, DW, et cetera suffering on Windows.

I recommend it for anyone who's already a speed demon typist (130ish here), as dropping the mouse makes you so much more efficient and after a couple years, or maybe even a couple months depending on how fast you learn if you show this off to anyone they'd be amazed at the godlike speed with which you edit text files

Last edited by D9r; Dec 21, 2008 at 07:56.
Reason: added two more quotes for context

From my reading of this I take it that Another Designer is just that, a designer. He is probably very good at the art side, but his boss is cutting corners by also having him convert his designs into templates - this is the wrong way of doing things.

In the company I work with we have separate people for separate roles because each is so specialised. We have dedicated designers - they are artists and they can create great looking sites, but we wouldn't expect them to create the xhtml and css.

We then have CSS and XHTML specialists who convert the designs into templates - we also work with other design agencies to do conversions for them. These guys eat sleep and breath standards compliant semantic code and produce top-drawer hand-crafted stuff in a fraction of the time it could otherwise take, freeing up the designers to do their job of designing.

Finally, those templates are taken by the programming team and used when creating the sites.

In a professional organisation, this is the only way to do it properly.

I use Dreamweaver, but only for site management, auto-complete, suggestions, HTML organization (I go through and re-write it, I just use the organization so I can skim it easier if theres a problem), and code highlighting.

However, I started learning HTML in my freshmen year of high school, and the only tool we were allowed was Notepad, and due to horrendous OCD, I went through and learned as much as I could about standards, usability, and semantic coding.

If the programmers complaint is that theres errors within your markup, validate througout your design process (I validate at each milestone, just so I don't waste time re-working an area thats invalid).

I would have no problem at all learning to hard code....
....me creating the tables in Dreamweaver and edititing the HTML like I always have.

Originally Posted by Centauri

Sounds like you are using the very techniques that have probably produced 50&#37; of the rubbish coded sites on the net....
....As an html coder it should be your job to keep up with all the latest techniques and standards in the field, and a thorough knowledge of html and css syntax and semantics should be mandatory. Time to ditch the non-semantic table layouts and unnecessary javascript produced by letting software do your work, and do it properly.

Originally Posted by Another Designer

Okay, it's learning time. If I don't use tables (which I finally feel I have mastered), what do you suggest I do? I started using Layers (yes, in Dreameaver), and they never staid in the same place in different browsers.

I can see both sides of the issue. There are two really big reasons you should consider hand coding.

I started out hand coding in html in 1994, because I didn't have anything else. I moved on to dreamweaver in the early 2000s, becaused I liked the templating features and speed of doing layouts. At that time, I was saving time because I was using templates, and drawing tables, which is super fast in Dreamweaver. I also had a solid background with hand coding so I could fix things when DW broke it. It was the best choice for me, for many years.

A few years ago, I started drifting back to hand coding. Nowadays I use notepad++, because I no longer do DW templates, and I don't use tables. It really is faster to build everything by hand for me, because I can punch in my CSS, and throw together snippets to build include-style templates.

Iit's all about being flexible and adapting to changes. Recently I changed jobs and I'm a very large web team for a fortune 500. They have a corporate rule against using any WYSIWYG editors for the same reason your boss mentioned. The code passes through many hands, and it has to be clean, and perfect. It is minimalist compliant code that almost has to be written by hand.

If hadn't already switched, there would be an adjustment period that would slow my progress. You simply have to adapt and change all the time, and thats the nature of our industry. So that's reason #1

You never know what methods an employer or client will require to build the code. With hand coding it doesn't matter.

When you switch to hand coding, there will be an adjustment. But it's better if you're making that adjustment before you have to. By doing so you also use it as opportunity to really get to know html and CSS inside and out.

By learning to code by hand, you get to know exactly what you're doing. You have 100&#37; control over the code, and you KNOW the code.

What better job security is there than really knowing how to do your job well? Let's be frank here

There is nothing Dreamweaver can produce that a human being with a text editor cannot.

So that's my reason for hand coding. It's not because I'm so awesome, or trying to be hardcore (that post was great d9r), it's because I want to be the best web developer I can be. You have to push yourself to that next level, so my suggestion would be to roll with the punches and start rolling your own sooner rather than later.

Notepad does not ftp on save. Notepad does not auto suggest code as you hand type it. Notepad can only undo your last "Oops" not the last 50. Notepad sucks and I quit using that years ago. If you are forced to use a text program, use EditPad. Otherwise, I would fight for Dreamweaver as much as possible. Adobe products are also what most Colleges teach with these days. So your boss also needs to think about finding a qualified replacement or adding qualified staff in the future too. She is limiting herself. Plus, it does not sound like you know DW well enough yourself by some of the questions I have heard you ask. DW does much more than the average user realizes. When you master it, there is no alternative.

If you truly like building websites learn to code by hand. If I were the other person I would probably not like it either. Use notepad for a few months then go back to dreamweaver code view. You will be faster than the design view crap.

When you become an expert, sure.. But for 99% I'm sure they'd benefit from intellisense. I've just started using Common Lisp in Emacs and I'm greatful for the sorta intellisense functionality it has, that doesnt hinder you in anyway but provides useful information.. as well as a built-in REPL ( can't live without it now that I've done Python with it.. how ironic it is that there is no decent PHP REPL and the only ones out there are a Perl module and a Python one, hah. Gotta try to get that incorporated into vim so I don't have to keep saving files and could test live in my editor

Notepad does not ftp on save. Notepad does not auto suggest code as you hand type it. Notepad can only undo your last "Oops" not the last 50. Notepad sucks and I quit using that years ago. If you are forced to use a text program, use EditPad. Otherwise, I would fight for Dreamweaver as much as possible. Adobe products are also what most Colleges teach with these days. So your boss also needs to think about finding a qualified replacement or adding qualified staff in the future too. She is limiting herself. Plus, it does not sound like you know DW well enough yourself by some of the questions I have heard you ask. DW does much more than the average user realizes. When you master it, there is no alternative.

I used DW for years solely for the code color coding and built in ftp (which was a terrible ftp client anyway), wouldn't dare switch to design view. I've since found that Ultraedit (very similar to EditPad) can do everything I used DW for on a much smaller footprint. I'm using TortoiseSVN to checkout my code from an svn repository now, but UE's built in ftp client works great the few times I do need to use it.

And if you really need FTP why not use an FTP filesystem which allows you to use whatever program you want and save remotely.

Still a bad idea though, you should never be editing the live version of a site directly.

Honestly, it depends on the task at hand. Personally, I think FTP is a deprecated old technology which is far from secure, and I stick to either SCP or SFTP, if not SSHing directly to the server and editing the file directly with vim which a *nix box will always have.

Honestly, it depends on the task at hand. Personally, I think FTP is a deprecated old technology which is far from secure, and I stick to either SCP or SFTP, if not SSHing directly to the server and editing the file directly with vim which a *nix box will always have.

Agreed, we never use FTP any more (SFTP exclusively, even on our windows boxes) but the software that provides an FTP drive can handle FTP over SSH as well - it seems though that this person specifically requires FTP.