In the Q&A of Day 162, Casey was explaining about how bad tools have become. Visual Studio is crap, slow, and just terrible; Emacs is slow; etc.
I have to agree with him on so many points and it's just sad.
It seems like the new tools that are being made are designed around web developers who cannot program and nothing else.
The editor GitHub is boasting, Atom, is one of the slowest editors I have ever used. Why the hell would you base an editor around a goddamn web browser?! The plugin system is slow and getting to the preferences panel takes 10 seconds! I would not recommend this editor to anyone unless they love not doing work.
Windows is getting worse and worse with each version. I really wish I could just not work on it but you _have_ to. I would move to Linux today if I could but there are not even decent C++ debuggers for OS that is supposedly developed by & for developers.
I am really pleased that Jonathan Blow is making a programming language that I would actually want to program in. It seems to be a programming language renaissance at the moment as it seems that every other week there is a new one. But each new one doesn't help as they try to add new features to a previous one or just have the same language but missing {} or something similar. Most of these languages are very high level, interpreted, web scripting languages. They probably program down to JavaScript as well (like there isn't already a hundred of those -- yes, there are about hundred).
There are some new languages out there that are good. Go and Rust are two that come to mind. At work, we program for servers and the programs are usually spread across multiple cores and processors. Concurrency is the problem. We used to use Java until we switched to Go and oh boy, it's a much better language. Go originally set out to replace C (I dunno how without manual memory management) but it has seemed to replace the Ruby/Python/et al. and some of Java. The language was designed for server systems and it works well. It's tools are pretty good except there is not decent debugger (good old printf to the rescue /s). Go is a very good language but it doesn't replace my/our need for C & C++.
Jonathan Blow's language, Jai (however you pronounce that (jay, jeye, jay-ay-eye)), is something I would use today. It's already better than C and nearly better than C++ (as a language). He is designing it from scratch and designed it around his needs and not anyone else's. It just happens that it meets mine and others needs.
Lately I have been having to "reinvent the wheel" for tools as most of them are just so bad. And to the point where I am developing my own text editor. I might help out with the Lime Text open source project but it feels like it will become slow in the future only to be compatible with everything (textmate, sublime, emacs, ...) or different flavours (Lime-emacs, Lime-sublime, Lime-vim, etc.).
Many of the game engines are awful. Unity is awful and only really good for prototyping but there seems to be so many games that use it now and even the 2D games don't even run well on a high end computer! I know this is probably due to bad developers but most of the time you are fighting the engine to do what you want it to do.
One other problem I have is with C & C++. Neither of them have decent standard libraries and you have to make your own. I will not use Boost. Boost is the most inconsistent and buggy PoS I have ever used. Yes there are parts that are good but I could easily implement those my self. And don't get me started on ctors, dtors, and RAII (well, C++s version of it). And don't get me started on build systems too (C/C++ shouldn't take more than 10 seconds and if it does, how/why?!).
***
I apologize for this rant but does anyone else feel this way? Is anyone else having to create even the most basic of tools because no one else seems to care anymore? Are programmers taught/reading that getting the job done quickly is better than getting the job done well?