6 ms·
I never understood why people are looking for things which are boring and I think it is mostly employers who do. They should look for something which is good an
by chridou 6y ago
I never understood why people are looking for things which are boring and I think it is mostly employers who do. They should look for something which is good and solves their problems. I don't know how something with the attribute boring is of interest here as other attributes for a technology/PL might be much more important...
Actually they mean something different with "boring": It is just a lack of courage for simply saying "We are most conservative, do not want to move forwards and are not willing to take any risk. Also we are scared of specialists and talent and want to stay mediocre. Actually working with us is boring."
- dunefox 6y agoThis, plus it enables them to fire and replace developers without much difficulty because there's a great number of people who know these languages (see Java...).
- bborud 6y agoYou are actually arguing for mediocrity. If someone needs to protect their employment by making their work more obscure so they won't be replaced then they probably aren't a very good hire. Companies tend to want to retain highly competent talent - not mediocre people or incompetents.
- dunefox 6y agoI'm definitely not arguing for mediocrity since I'm not arguing for obscure code. I'm saying that companies that have much turnover (which a lot of software companies have) won't choose a language that doesn't offer them a huge pool of programmers.
- bborud 6y agoI think most shops that are run by people who have experience with software development will tend to choose languages that are fairly mainstream. Yes, the recruitment pool is bigger, but so is the entire ecosystem. Tooling, libraries, books, documentation, easy to find knowledge, long term committments etc. There are few things that are more frustrating than working on something that so few people work on your search results when looking for solutions to problems come up nearly blank. And despite what high thoughts we programmers have of ourselves: we spend an inordinate amount of time Googling things :-)
- jahaja 6y ago> we are scared of specialists and talent and want to stay mediocre This arrogance is just so weird. A High-quality code base is easy to read and change. a.k.a simple. Redis is a good example of this. To have found the perfect abstraction, or perfect feature set fit, for a particular moment in time and feature set, may feel good but doesn't really matter.
- chridou 6y ago> to have found the perfect abstraction, or ... Didn't even know that I was writing about the perfect abstraction. Mediocre environments are where you will not find much code of high quality even though every GoF pattern seems to have been applied. That simple code you mention requires professionals and talent. Looking for the perfect abstraction is what you find in mediocre environments. Redis is actually a good example. It is a highly specialized tool. It might perfectly fit your needs but someone in your company might have defined mysql as boring and Redis to be not... So youl'll use mysql...
- bborud 6y agoIn order to have a meaningful discussion, let me expand on what I mean by "boring". To me, a boring language is one that is easy to learn, easy to read and which encourages somewhat homogenous code - through coding style and common idioms. It has few surprises and few dark corners. If a language still has major aspects that practitioners struggle with after 2-3 years, it isn't "boring". If you have to expect every codebase in the same language to have different coding standards, it isn't boring. A boring language is one where what you've learnt on one project has a high probability of being usable in a completely different company or on a project that does something entirely different from what you've done before. It is a language that disappears because you spend more time talking about how to solve problems and less time talking about how to express those solutions in a language. Now I can understand that some people like the excitement of exploring new languages. And you should. On average you should try to learn at least one new language each year. Even if it is on your own time if your employer is stingy. However, asking your employer to let you use some language on a project because you find it "exciting" is a big ask. Projects tend to have deadlines, they have quality targets, many projects are built by teams, so entire teams have to be conversant in the language. What if you need to scale up with more developers? How easy is it to recruit programmers in a given language and at a given level of proficiency? How about maintenance after you have left the company or grown tired of whatever language you were once very excited about? And what happens when a language goes out of fashion but the company running the code still depends on it? People with responsibilities are not scared of talent. Rather the opposite. They depend on talent. They may, however, be somewhat scared of "specialists" (in the sense of programmers who will insist on niche languages or niche technologies) because if you pay someone to write code, you don't want to have to search for "specialists" to maintain it or limit the size of your recruiting pool. You have an investment to manage. As for mediocrity: I think you would need to back that argument up with something. Do you really think the choice of language is what makes a programmer brilliant or mediocre? Then why doesn't reality agree with that view? If that were true then for every Donald Knuth, Fabrice Bellard, Jeff Dean and John Carmack there should be lots of even better programmers that do all their work in "exciting" languages. Where are they? They should be far easier to enumerate than the people who use "boring" languages? If you think caring about the long term value of code is "boring": try to start your own company and bet your own money. If you are that convinced of how "exciting" languages lead to brilliance it shouldn't be a tough choice to make.