Please create an account to participate in the Slashdot moderation system


Forgot your password?

Comment Re:Um.. we don't see it as advancing our career (Score 1) 125 125

This is a problem across all industries, and it's not as bad in software as elsewhere. I've been writing software for fourteen years and I was only asked to work long hours once, for one week. My employers won't insist on it because I'll leave, and I'm not easy to replace and even if they find someone just as skilled it takes a few months to ramp up for productivity. I'm sure it does happen, of course. But if my boss asked me to work a 50 hour week I would quit today - and probably be back to work within a month.

In general, I don't see any solution other than the socialist ones - unionize and demand fairer treatment. Just don't let the union morph from something "for the workers, by the workers" into a monster that is as much focused on its own goals and indifferent to the treatment of members as the corporate management (which has been the experience with American labor unions that most of my family has had).

Comment Re:Um.. we don't see it as advancing our career (Score 3, Insightful) 125 125

The problem with being a software developer at 45 or 50 is that when you learn Node.js or CoreOS or whatever the new hotness is and a 28 year old learns the same technology, a lot of HR managers will think they can get 10 extra hours of quality work per week out of the younger man (or younger woman) for 20% lower compensation. That belief is often wrong because 40 hours of quality work from you trumps 60 hours of quality work from most people 20 years younger, but it's a common belief nonetheless.

Conversely, there are three good things you can do as a manager that used to be a software developer for fifteen or twenty years:
1. You can manage from experience, with a real understanding of the work your employees are doing. My best managers have all been former developers - or in some lucky cases, people that get to do half management, half development.
2. You can make informed decisions about what technology stacks to use or to avoid and what priorities matter. At my last job I turned down a management role repeatedly, and I was pleased with my choice until the person who took the management role drove me out of the job with poor decisions.
3. You can understand that a development manager's most important job is running interference between skilled employees and the rest of the company. Yes, it's less fun than developing. But you'll gain respect, trust, and productivity from your team if you point them to the target and then spend your own time leaving them alone, keeping them out of wasteful meetings, and trying to remove any obstacles that would slow them down. My current manager does that, and she's awesome.

Comment Re:Desktops vs Mobile (Score 1) 250 250

LOC by itself isn't useful - people can and do write incomprehensible short Perl applications that tens of thousands of competent Perl developers couldn't read or modify.

But writing and especially reading code that exists for the sake of ceremony does slow you down. Say you have a simple Plain Old Java Object for a person with ID, last name, first name, date of birth, occupation, and set of skills. In Java that's a package declaration plus two to three imports (java.util.* or java.util.Date and java.util.Set and then your Skills class) plus class declaration plus six instance variables, six getters, and six setters. With common Java code format conventions that's 48 lines of code. The Scala language has its own warts, but in Scala that would be a package declaration, one line import for your Skills class, one line import that includes Date and Set without using a wildcard import, and a one line class declaration (well, it will probably spill onto a second line). You've gone from 48 lines to 5, and it's every bit as easy to understand.

Now that example is a trivial one, but you have the same getter syntax, imports, and method signatures and checked exceptions and so forth throughout the language. I haven't used C# in a serious application, so I can't compare there from personal experience. But Scala (and the similar language Kotlin) let you write code that looks like Java and works with Java but cuts 50-90% of the boilerplate nonsense out, and you're left with something that's just as clear as Java and much faster to write and read.

Comment Re: Desktops vs Mobile (Score 1) 250 250

Neither you nor the parent post author are correct. In benchmarks for server side code, a long-running, JIT compiled Java application will typically blow Perl, Python, PHP, Ruby, and similar languages away for performance in all ways, beat C# and F# by a smaller but still significant margin, but still lag well-written C or C++ by 1.5-5x for execution speed and 5-100x for memory usage.

Now as it turns out, much of Facebook is written in PHP, much of Reddit and Youtube is written in Python, and Wordpress powers millions of websites with PHP. So Java is good enough for a massive number of server use cases. But the Java Virtual Machine's HotSpot and all of its optimizations still haven't caught up with GCC and LLVM for speed yet, there's a lot of ground left to cover.

Comment Re:Desktops vs Mobile (Score 1) 250 250

In the browser, Chrome has a builtin PDF viewer and builtin Flash player, and it auto-updates silently for you. Oracle doesn't do that with the Java plugin. The security problems were so severe that if I recall correctly. Firefox and Chrome both added code to disable the Java plugin automatically if it was out of date. But the end user still had to manually update Java every time.

If Oracle was really serious about Java's image with the general public and its ease of use for average people, they would have bought or built a silent auto update feature for the Java Runtime Environment.

Comment Re:mandate? (Score 1) 193 193

It depends on how serious you are about gaming. I have fifty-odd games in my Steam library that work on an older AMD APU, and it can also run Starcraft 2, Call of Duty: Black Ops 2, and a few other mid-tier games. Sure it gets crushed by an Intel CPU and dedicated GPU, but it's good enough for me and my kids.

Comment Re:Only kinda sorta (Score 1) 193 193

If you work in the technology industry, there's a really good chance the price gap is not a major headache to you. For the 80% of the American population that has an income half of ours or less, it's a big deal. And for example I have four kids who frequently fight over access to the house computers. The difference between $300 and $450 (or whatever the hell the difference is for this Intel chip with APU-crushing integrated graphics) adds up when you're buying multiple machines.

Comment Re:My lawn (Score 1) 557 557

I believe you. On the other hand, an acquaintance of mine in his 60s has spent the last 30 years or so trying different foods made from plants that grow naturally without any sowing, tilling, weeding, etc... stuff in books like "Stalking the Wild Asparagus" ( ). He's a vegetarian and he said he gets over 90% of the food he eats from mid-spring through mid-fall just by going for a walk through the wood by his house and picking edible items as he goes along. For the rest of the year he goes to the grocery store just like everyone else.

Of course it's possible he's lying, or that the wild foods he eats are awful and he's just grown accustomed to the unpleasant tastes, smells, and textures.

Comment Re:Mozilla barking up wrong market (Score 1) 90 90

Mozilla is trying to add features to HTML5 to the point that mobile devices don't need native applications and can do everything the user wants in HTML5. At that point, the differences between iOS, Windows Phone, Android, Blackberry, WebOS, and Firefox OS become irrelevant because you can do anything you care about with a good browser on your phone. That is the point of Firefox OS. Not to dominate the mobile device market, but to fundamentally change the way it works so that no corporate juggernaut can dominate it.

Comment Re:Why do this in the first place? (Score 1) 90 90

Mozilla is trying to foster platform independence - the ultimate goal of Firefox OS is not to get Firefox OS onto every smartphone in the world, the ultimate goal is to make is so that the host operating system of every smartphone in the world is irrelevant because you can do everything you want on a smartphone with an HTML5 browser.

HTML5 supports offline storage. Once enough applications are built to use that feature in an intelligent way, world-class data plans don't matter as much.

Comment Re:Why do this in the first place? (Score 1) 90 90

I'm less certain of this than I was a year ago. In mid 2014, I would confidently assert that Firefox matches Chrome everywhere, and Chrome's multiprocess advantage was irrelevant because Firefox was so stable it did not matter. But this spring, Firefox on Ubuntu has been awful for me. After it's been open for about a day, it starts to hang left and right, even with all add-ons disabled. I had to change my user preference to "When Firefox Starts: Show my windows and tabs from last time" and now I kill the browser manually when I can't stand the lag about twice a week. I've gone through all of the steps at and my machine has 12GB of RAM, and aside from the fact that applying any suggested fix involves a full restart of Firefox (which solves the problem for about two days) nothing seems to work.

Maybe the situation is better on Windows, OS X, and Android. I certainly hope it's better on Firefox OS, since of course low and even mid range mobile devices don't have the same memory available as traditional laptops and desktops. I leave Chrome on my work machine, which also runs Ubuntu, open for months at a time.

Comment Re:Clear code: Cultural background (Score 1) 414 414

C mathematical operator syntax is probably more intuitive for a mathematician or even just someone that completed high school math classes. But the other syntax for pointers and dereferencing pointers, arrays, and curly braces for code blocks is probably still unintuitive, even if you have a mathematician. They would probably still go from "complete novice" to halfway between beginner and intermediate faster with Basic or Python than with C.

I can't speak for Fortran, I've only ever looked at a few snippets of it. As for Haskell - I think Haskell syntax is still puzzling. Yes, the function definitions are mathematical and the case matching mechanism for defining function paths is brilliant and elegant, but until you understand what it means, it looks bizarre.

Comment Re:"Easy to read" is non-sense (Score 1) 414 414

The fact that Lisp syntax is so simple is a strength of the syntax, not an absence. Instead of spending days to grasp all of the syntactic quirks of a language, you can grasp the whole thing in just a few hours.

The parenthesis inherently give you grouping, so there are no operator precedence rules to grapple with. And often you don't need a fancy DSL for a syntactic map to your data structure, you can use Lisp data structures as-is.

The longer the title, the less important the job.