Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment Re:Java's problem isn't verbosity (Score 1) 577

No, I agree that the Java language itself is not over-engineered. I said that the frameworks and community that have grown around it, have a tendency to over-engineer (especially in the enterprise). That is not to say there are no efforts within the community to overcome that, but having shifted from enterprise Java to C/Python and also having worked a fair bit with C#, I do have some experience with the general ethos in each of the communities.

RE: "Which factory e.g. did annoy you in particular, and why?" Joel explains it better: http://discuss.joelonsoftware.com/?joel.3.219431.12

Comment Java's problem isn't verbosity (Score 5, Insightful) 577

Java's problem isn't verbosity IMHO. It's the general mindset and community that has grown around the language. Instead of simplicity, they've gone into massive over-engineering, with factory factory factories and the like. A combination of pattern mania, and "enterprise" java, has resulted in turning an otherwise simple language into a veritable nightmare. Contrast this with the python community for example. Language wise, compare Java with C#. C# has done things a lot better in general. It may help that newer versions of Java will achieve some degree of feature parity with it but in the long run, I think it also has to be accompanied by a shift in the general notion of what's "normal" design in the Java world.

Comment Re:Just like snipe hunting (Score 1) 366

Agree with what you say a 100%. To me, and correct me if I'm wrong, tests are mainly about a means to automate testing I might otherwise have had to do manually. Beyond that, I see the law of diminishing returns hitting back too hard - and the overhead of maintaining test code more onerous than maintaining the original code itself.

Comment It's going to be hard (Score 1) 366

The truth is - unless people realize it for themselves - it's really hard to do. Not every programmer has pride in their code and a genuine desire to learn and improve. Let's say you get approval to rewrite the code and reduce the unnecessary complexity. Most likely, the code will break and you won't know till it's too late. This is because, no matter how convoluted the logic - it would still be relatively debugged code. Rewriting stuff will break things, and without the unit tests - it's really hard to even get a clue where. As a result - people will blame the rewrite for the new bugs - and still never get the point.

My suggestion is, start with pushing for process and get tests written for existing code. Try to convince people that the reasons for your release problems are the absence of good process and good tests. Explain that tests are a way to automate the drudgery of manual testing and will save time - so that it is comprehensible to management. Once those two are in place - you can safely rewrite the code without breaking existing functionality - thus avoiding being blamed for your "meddling". You can then start pushing for code refactoring next. Eventually - it will be possible to display the tangible benefits of a well-structured code based. It'll be a long hard slog.

Sometimes though - the people around you are too calcified in their thinking to want to learn or to do things "better". In that case, find another job.

Comment Re:Just like snipe hunting (Score 5, Insightful) 366

Your comment assumes that the person who criticises bad code is always a factory factory factory guy but fails to take into account that there IS such a thing as good code and bad code. The OP has outlined the reasons for why the code is bad - such as buggy releases, lack of test coverage etc. That indicates that the code or process is bad, somewhere.

Over-engineering is a problem yes, but just as commonly, under-engineering/non-engineering is an equally big problem. Both lead to bad code.

Comment Re:Now for the rest of them... (Score 1) 185

Spot on. It's better to be occasionally infected by a virus, and to format and reinstall your system, than to suffer daily slowdowns and annoyances with a real-time anti-virus program. I've long since decided to make this trade off to maintain my sanity, and I haven't regretted that decision at all.

I've not been infected in years, with no realtime anti-virus, and that's by following a few simple ground rules.

1. Do not run junk software from unknown sources. If you must, then run an AV scan manually to double check. (or use a virtual machine)
2. Keep your browser up to date, use a browser secure by design (e.g. Chrome and of late IE - although IE is still more likely to be targeted by malware) and avoid installing crappy plug-ins.
3. Avoid visiting untrusted sites and executing untrusted crap off them (see 1)

That's it really.

If an occasional virus gets in, find the process, kill it, and delete the executable and startup hooks. Most are that dumb. For the rest, format and reinstall.

Comment Re:Apartheid (Score 2) 591

The problem isn't that morality back in the day was different (i.e. more primitive). The problem is that, faithheads think that what's written in the book is absolute. So the example of Mohammed sleeping with a 9 year old, or the bible advocating slavery, genocide etc. are examples to prove that modern morality is far better than the obviously flawed "absolute" morality advocated in those books.

That is why this Aisha story comes up so often.

Comment Re:This is a loaded question (Score 5, Interesting) 951

I don't think even that's the problem. I find that many things that work reasonably well in Windows and Mac OS X do not work properly on many Linux distributions. There may be understandable reasons for this, but in practical terms, it's a really big problem.

For example, I have a docking station for my Lenovo X201. When I put my laptop on the docking station, it should automatically switch to the external display - at the correct resolution. When I open my laptop lid, it should activate both. When I boot up while docked and lid closed, only external display should come on at the correct resolution. About an year ago (which is when I tested last), it didn't do any of these things perfectly, It kept forgetting the resolution of the external display, and I had to keep readjusting it. Opening and closing the lid was a slow and unbearable affair.

This is apart from the fact that the graphics are pretty sluggish, with occasional tearing etc. Scrolling and panning were also fairly slow. Intel drivers are correctly installed. The UI just doesn't have the polish and smoothness that Android, Windows and OS X do. The fonts are also pretty ugly by default, The buttons and layouts look squished or otherwise disproportionate. There are many many similar hiccups as the ones outlined above. As a point of comparison, I'll point out that I started using Mac OS X only recently, and have found it instantly more pleasant and intuitive to use, although I still find Windows to provide the most flexibility, especially when it comes to multi-monitor support.

Android is a testament to the fact that fluid and beautiful desktops on Linux are entirely possible, on a range of hardware. I think KDE (my favourite) and Gnome just need to stop worrying about new features, and just polish their existing experience. Alternatively, maybe the trick to finally having Linux on the Desktop, is to have Android on the Desktop.

Comment Re:Amazon knows me better than myself . . . ? (Score 1) 209

To clarify further, it's not just targeted advertising that will be possible with this data. It is very likely that one's political affiliations, sexual orientation, religious beliefs and other hidden thoughts and opinions etc. can be predicted with this data. In the hands of some ideally benevolent government, all data may be benign. In the hands of a despotic one, it can be used to detect and eliminate any and all opposition - a witch hunt to end all witch hunts.

Slashdot Top Deals

What ever you want is going to cost a little more than it is worth. -- The Second Law Of Thermodynamics

Working...