Misconception 1: One Language Is Inherently Better Than Another
The biggest problem I always faced when I was first exploring the world of programming was “which language should I learn?” In my experience you should learn a lot. There is no language that can do everything better than another. Don’t fall victim to the idea of the Golden Hammer. Use the right tool for the job. PHP is great for developing websites. It is less then idea to write a RDBMSÃ‚Â in PHP. C is awesome and you can do anything in it. The limitation with C is the complexity and speed of development.
Additionally, when you start discussing languages in the same category (C# vs Java, PHP vs Ruby on Rails, etc) you will see some fierce opinions like “Visual Basic sucks, you’re stuck in the 90s”. If you’re writing a quick tool for yourself to get a job done, use whatever you know and are comfortable with. If you’re writing an enterprise application use the language which is going to be easiest to maintain and allows you to follow common design patterns such as Model-View-Controller.
Misconception 2:Ã‚Â You Have to Use a Fancy Editor for Web Design
One of my biggest struggles was finding the right IDE. For .NET, it’s easy: Visual Studio. For web design it is not so easy: Dreamweaver? FrontPage? CoffeeCup? Notepad? In my experience WYSIWYGÃ‚Â editors generate sloppy code that is impossible to maintain by hand. Some developers use fancy IDEs like Dreamweaver, others use more simplistic solutions like Notepad or Vi. My preference is to be less reliant on WYSIWYG designers and keep yourself in the code view. Writing the code yourself you definitely learn more and are familiar with the structure of the website. In the end it doesn’t matter. If you need to slap something together use a visual designer. If you want to practice your HTML or need to build a site with excellent cross browser compatibility a code editor may be more suited for your needs.
In a perfect world the best editor (in my eyes) would be one that has syntax highlighting, some form on auto completion (like IntelliSense), and an instantly updating browser view. My struggle was always remembering the hundreds of CSS properties. Solutions like a simple Notepad window lack syntax highlighting which can make the work easier on the eyes and quicker in the long term. An instantly updating browser view (side-by-side with the code) would allow newer developers to see how their changes affect the visual appearance, as well as allow experienced designers to quickly test new ideas and solutions for layout problems.