(January 28, 2018 at 12:52 pm)LastPoet Wrote:(January 28, 2018 at 12:43 pm)KevinM1 Wrote: Yup. And that's one of the many reasons I don't even touch software like WordPress, let alone use WYSIWYG tools .
"It's free! And you can simply plug in themes and other functionality!"
Yes, but in my experience, its one-size-fits-most design philosophy actually fits none. I've never met a client that was happy with stock WordPress with unmodified plugins and theme. They always want something - sometimes something simple, sometimes something complex - that can't be found in a plugin. And WordPress is an absolute pile of shit under the hood, a throwback to late 90s/early 2000s web design with unnecessary global variables/magic values/tight coupling everywhere, and The Loop which sloppily merges back end logic with display logic.
So, I wind up fighting against a really shitty piece of software in order to get anything done, which takes me twice as long.
I know C/C++ isn't used for webdesign, but perhaps such a tool should be developed. A tool that enabled you to do high level design, but also allowed to get to the micromanagement.
I hear people complaining about how hard pointers are, and segfaults are a thing, but direct access to memory by location alows for neat tricks. It adds much more customization.
Eh, outside of the Hiphop compiler and, later, virtual machine made by Facebook to translate PHP into bytecode, there's really no need for the average web developer to touch C++. Web sites, by the very nature of HTTP, are stateless. They're not programs in the traditional sense, but rather one-shot affairs that live and die per server request.
Regarding better tools, that's why I use a framework like Symfony. It's really modular, and it handles a lot of the low level, "every site needs this and it's pretty much the same" crap (routing) while allowing the developer to write real code to solve real problems. It uses a MVC architecture, whose point of entry is just a simple Front Controller that parses what the user sends in the address bar... it's up to the developer to write the code to handle such requests.
It also comes with an event model, which you can use (or not), a service model, which you can use (or not), etc.
There's other frameworks that do the same kind of thing (Laravel also for PHP, Django for Python, Rails for Ruby, ASP.NET MVC for .NET/C# (which I find to be far, far superior to web forms (no more stupid page lifecycle BS)

The barrier to entry is higher. You need to know how to:
Program in the language the framework is written in
Understand the basic design philosophy the framework employs
Understand SQL, and the particular ORM being used (Doctrine 2 in my case)
Understand HTTP (not hard) and how routing is different between GET and POST requests (also not hard, but seems to trip up newbies)
Understand the template engine used for creating views (read: pages... Twig in my case, Razer in ASP.NET MVC)
Understand HTML, CSS, and JavaScript because that shit isn't going to write itself
But you can do so, so much more with it than with prepackaged software that never looks or feels or works quite the way the client wants.