I am currently a CS student and an aspiring programmer/web developer. I am wondering whether it is worth taking the time to master html and css to make websites when these CMS services/wysiwyg editors (wordpress, squarespace) seem to be becoming more and more functional. Does anyone think these publishing services might eventually make the need to design websites from raw code unnecessary? If not, please explain why. If designing a website eventually becomes as simple as using Photoshop I would much rather invest my time in programming languages.
I can't imagine myself using wysiwyg for css and html. If you like to learn to DESIGN you gotta know the 'backend' 'messy' part.
Wysiwyg is ok if you are not building something robust.
but definitely invest your time in programming languages. thats the engine.
HTML/CSS can in no way be compared to a CMS(content management system). You could maybe compare learing PHP vs using CMS, but that would't be very correct either. CMS's are used to manage the content of your website, so it's helpful, because you don't need to write any code or think about database table relations etc.
If you want to focus on designing pages, learn HTML and CSS. If you're more into creating dynamic web applications, you can use a CMS, but I would recommend learning PHP as well, as you will surely need to adjust you website sooner or later and won't be able to do it without any PHP knowledge.
WYSIWYG editors might make it easy to write content without knowing HTML/CSS, but that's about it. You still need to know HTML & CSS in order to create templates for Wordpress or Squarespace. And WYSIWYG editors are usually poor at handling complex layouts. At best, you'd still have to go back and clean up the generated code.
If you partner up with a front-end developer/designer, then you could get away with only knowing HTML, a server-side language, and basic CSS. If you want to focus on web design, you could even get away with knowing no programming at all. But then you'd have to partner up with a developer who does and can implement your designs. Naturally, it helps if you understand the capabilities and limitations of HTML/CSS.
Another thing to consider is this, most services like Squarespace are much more expensive than the equivalent web hosting plan. You'd likely be paying more than double what you'd pay at a good web host.
For example, you can get a shared hosting account with unlimited domains for roughly $10/month. At work we have DreamHost account with 10+ sites setup on it. You'd need to pay at least $200/month for the equivalent service on SquareSpace, and you'd still end up with less flexibility and need to go with another service if you needed to build an e-commerce site.
There's no such thing as a free lunch. The less you know and the more you need others to do for you, the more you have to spend for the same results. Sites like Squarespace basically have you outsource web development to them. From a web developer's point of view, that makes little to no sense. It's only a good deal if you're a non-technical person (e.g. a musician, an artist, a designer, etc.) who doesn't want to shop for and pay a web developer. That makes sense. But it doesn't make sense to pay a web developer just so they can refer you to Squarespace.