5 ms·
Software isn't a game, it's an industry. People use particular languages, frameworks, etc. because it makes them more productive. As a professional, I also ca
by swatow 12y ago
Software isn't a game, it's an industry. People use particular languages, frameworks, etc. because it makes them more productive. As a professional, I also can't follow every single trend (e.g. I've got no idea what Chef and Puppet are) but I keep an eye on things that are close to my own area, because I don't believe that fads come out of nowhere, or that you can ignore what other people are doing. Most of the major trends I've seen are justified on technological grounds:
Node.js - lets you share code between client and server
Docker - a more reproducible environment than a VM
Python - the most user friendly syntax of any language
You have a fake humility in your post, but I would ask you what particular things (e.g. what scripting languages) you think are "cringe inducing".
- increment_i 12y agoTrust me, it's not a fake humility. I really have nothing to do with the development of software in my day to day life. And I wish I could agree with you on the "it's not a game" thing, but having used enterprise Windows software for most of my working life I really can't come to any other conclusion than a lot of the software out there running our day to day lives must be produced in settings not unlike your local McDonald's. Having said that, I've yet to come across a situation where I've shared code between a Node server and client code. Don't get me wrong, I LOVE writing processes in javascript but when I was starting out, the language wars really confused me.
- swatow 12y agoIt's false humility in the sense that you emphasize that you are not a professional, and then go on to precisely attack professionals for their judgement in what languages and frameworks to use and comment on. I can't comment on enterprise Windows software in itself, since I'm not a big user and have never written it, but the Windows itself could never be compared to McDonalds. Incredible skill and expertise was needed to write Windows. As to the software written on Windows, are you qualified to judge it? Have you written something similar by yourself? I've never used Node myself, I was just assuming that people really did share some code across server and client in practice (otherwise why not just use Python for the server).
- ido 12y agoReducing context switching when working on both, easier to hire people that are fluent in a particular language than people who are fluent in 2, performance, in that order.
- increment_i 12y ago1) I didn't compare the technological achievement of Windows to McDonald's. It was a personal anecdote about enterprise Windows software being so terrible that I'd imagine it wasn't written in an environment where user experience was a major concern. I never compared the OS itself to anything. Do I think I could write something better? As a matter of fact, yes, I think I could. Should I put my money where my mouth is? I suppose I should, but even if I don't certainly I should be allowed to criticize software that I use on a daily basis. After all, I'm the user, no? These are my own observations, surely I don't need to claim they're gospel or apologize for them? 2) Maybe I offended some people when I used the term "software game". Rest assured I was making a slangy generalized reference to the software industry itself, and in no way did I mean to trivialize those who do dev for a living. In fact, I applaud you.
- swatow 12y agoRegarding enterprise software, as a user you can say what you thin about the software, but how can you make claims about how things might be better? You could only make that sort of claim if you understood something about what it was like to write that software. As an amateur you know more than the average user, but I would ask you consider that you don't know all the constraints faced by the person writing the actual software >Maybe I offended some people when I used the term "software game" Yes, you did offend me. And I appreciate your clarification. My main point was that it's easy to criticize, but until you get your hands dirty, you won't really know what it's like to write software for a large user base. And it doesn't have to be commercial. If you're working of open source software with 100,000 users, your experience is as real as with commercial software.
- increment_i 12y ago> Regarding enterprise software, as a user you can say what you thin about the software, but how can you make claims about how things might be better? Because I'm the USER! If we're hitting a language barrier I apologize but enterprise software is for the user. Surely this cannot be disputed. > You could only make that sort of claim if you understood something about what it was like to write that software. NO! IMO, this is an insane way to think about client software! The user doesn't care about the technology nor the hardships involved in shipping said software! This is why software sucks! I can sympathize if you work at a shitty company with a shitty boss, believe me I can. But no, I feel your software should die if this is your ethos. Let a company who cares about its users take those reins! EDIT: grammar
- alayne 12y agoIf you work with a lot of bad software, a better conclusion might be that producing good software is hard for multiple reasons than it being a "game".
- increment_i 12y agoI agree, but I did not make that conclusion nor did I assert that making good software wasn't "hard", and certainly not because it's a "game".
- deleted 12y ago[deleted]
- sbov 12y agoI think software as a whole is a lot more subject to fads and personal preference than you're leading on here. Which is okay because picking the exact best technical fit (if it's even possible to figure this out ahead of time) for any given problem will give you tech ADD. E.g. lots of people use node.js because its in a language they're familiar with and it fills a niche (lightweight process that can accept and process many incoming requests). I use Erlang for those needs, which actually existed before node.js. But it's a "weird" language so most people don't use it. I like Python more than Ruby. I've learned both but never use Ruby anymore. Other than preference or mandate I'm not sure why I would use one over the other. Lots of people used to writing in scripting languages seem to be discovering the wonders of a speedy language like Go. You could obviously use speedy languages before Go but their preferences made them not want to use them. For whatever reason Go is attractive to them.
- swatow 12y ago>E.g. lots of people use node.js because its in a language they're familiar with and it fills a niche (lightweight process that can accept and process many incoming requests). I use Erlang for those needs, which actually existed before node.js. But it's a "weird" language so most people don't use it. If languages are close enough, then yes, familiarity or popularity will influence usage. >I like Python more than Ruby. I've learned both but never use Ruby anymore. Other than preference or mandate I'm not sure why I would use one over the other. Never used Ruby, but my impression is that like Python, Ruby is a slow interpreted language with a good set of libraries and user friendly syntax. So you're probably right that there's not much between them. >Lots of people used to writing in scripting languages seem to be discovering the wonders of a speedy language like Go. You could obviously use speedy languages before Go but their preferences made them not want to use them. For whatever reason Go is attractive to them. I think that attraction of Go is that there is one build system, one debugger, one linter, etc. Having all these things be take responsibility by the language developers is a big plus as it avoids buck-passing and inconsistencies. While Go doesn't excite me at an emotional level, there are some things that it seems really good at.
- Iftheshoefits 12y agoHow about if a person who develops software for a loving agrees that it seems more and more like a game. Words and phrases like "our stack", "you need X years of Y language," or "we need a Z language dev" and so on all read like rules in a role playing game to me. Sometimes after I read certain posts--and particularly posts gushing over some language's features--I feel a bit surprised the commenters don't mention hearing a "ding" after "leveling up". Our industry is filled with tens of thousands of professionals carrying on quietly developing software boring and exciting, and inundated with loud mouths acting and speaking in ways strongly suggestive of a certain " gaminess."
- Roboprog 12y agoAwesome. I can almost visualize playing "Dragon Age" with my daughter while reading your comment. Considers +2 "XML Mace", but requires level 15 Java Brute Force skills to wield. Reconsidering player "cast", selects +3 "RegEx Dagger", which better matches level 18 Perl Dexterity. Upon leveling up, considers how many XP to spend on "management persuasion" craft skills. :<>