Become a fan of Slashdot on Facebook


Forgot your password?

Comment Re:"weak" UX often found w/ the most powerful SW (Score 1) 402

  Even the most stupid and inconsistent /scriptable/ user interface is worth more than the best designed inextensible gui.

Use a different OS, or learn more about the one you use. Nearly every element of every application I use on the Mac OS is extendable or scriptable through OSA scripting. It doesn't just stop at piping together textfiles, but can do any type of inter-applicaiton scripting. You are limiting yourself.

You're a freaking genius -- you conceive everything in your head, and then it just works: no debugging, no refactoring, no revision control is ever needed. More curiously, the interfaces and external libraries you're using are just as perfect and immutable as your code.

No, i'm not. But to prove the point, last year I had my best programmer program in C what it took another programmer in python 10x as long. Is C more expressive than python? Not a chance. The difference isn't usually in how much or how fast you type, it is how fast you think through the problem.

Comment Re:"weak" UX often found w/ the most powerful SW (Score 0) 402

Interestingly, just reading the preferred environments of winning competition coders, few list a command line editor. Most a IDE or and heavy-duty GUI editor like sublime.

I think this retro movement is a knee-jerk to "user-friendly" or "simplicity", as if that means "not expert". But as a Wired article recently made clear, most serious GUI tools are not simple at all. But the good ones are "Clear". Clarity only helps power-user tools, and certainly no unbiased observer would call a GUI editor or IDE "obtuse", and vim or emacs "Clear". Most command line tools need are solutions to their self-imposed problems. Back in the day we only had command line tools we could only dream of good IDEs that we have today.

P.S. hat are all these tedious actions? Spend all my time thinking, architecting, then writing... mostly once.

Comment Re:"weak" UX often found w/ the most powerful SW (Score 1) 402

I don't work for a big company where everybody is siloed into narrow tasks. I want everybody to contribute to their upmost potential. I understand I may be one of the broadest engineers around, but that is a requirement in a startup environment. And I really hate when people say, it is "not my job", cause all problems are just problems not software, hardware, mechanical, architectural, UI/UX problems.

If your toolbox is big enough, you can pick the right way to address the problem, not just the one you know.

Comment Re:No thanks (Score -1, Offtopic) 402

Boring is a real problem in open source. I don't find most open source applications compelling, because they generally don't move the flag forward, and instead just poorly mock existing commercial efforts. And usually they are quiet a bit less refined.

So being someone who likes to both have the best tools at the ready, and reward innovators, why would I use a a bad copy of something good... just because it is free? It is not enough. It is like a bad copy of an original painting. The validation in open source that coders get kudos amongst other coders, not users. So rarely does anybody actually care if it is usable at all. And so no mainstream users ever emerge. Until you change the personal validation proposition in the open source community (and maybe our social skills too), it is not going to change.

Comment Re:"weak" UX often found w/ the most powerful SW (Score 1) 402

This is what is wrong with open source! It mistakes good design with new-fangled, fewer features, and inefficient. And yet, I find that is only true of open source, not professional applications. Adding more features beyond 128 characters of ASCII, doesn't make programs suck (just the opposite).

I've got a guy in the office just like you, only vim.

You know what? He is only slightly faster than somebody with good sublime skills, and utterly lost when skills require him to do something more than text process on the command line. I totally run circles around him when it comes to weaving together CAD, graphics, 3D, presentations, vector work, and deep-level debugging in graphical debuggers. The other day I put together a presentation that was an amalgam of 3D cad, mechanical CAD, architectural CAD, photoshop, illustrator, graphical and 3D editors, video editing, and 2D animation. While his text processing is a bit deeper than mine, it doesn't make him very much more efficient at coding, cause that is bandwidth limited by thinking, yet his skill set is sooo much narrower.

The "my command line is all I need" argument was lost 30 years ago. Text is just one of many things a GUI handles. But the thing a GUI does is provide a consistent framework that allows you to use another programs bringing 70% of your skill base to a new application, with little reboot time. Try moving vim guys to emac, and vice versa.

Comment Re:But if you look at unemployment... EEs beat CS (Score 1) 154

The question is why.

There are lots of really interesting and hard problems in CS. But very rarely do I interview a CS grad that has any experience in them, or more frustrating, doesn't even know the nomenclature (e.g. define "heuristics").

They can't even address simple on-the-spot software solutions (e.g. write a simple C function that flips the order of a link-list). All that time spent doing stuff in java has rotted their brains.

Comment But if you look at unemployment... EEs beat CS (Score 5, Interesting) 154

However, while this might be true for the work roles people are performing, the article at the end shows that EEs have lower unemployment than CSs.

This is my experience: When interviewing EEs and CS degreed employees, I'll chose the EE over CS 9 out of 10 times for a software job. In general they have a stronger grasp of the big picture, hardware, software & firmware. In fact I've been downright disappointed with the level of CS expertise by CS grads lately. It is as if the universities are training them for javascript, web site production, and IT support as apposed to a deep understanding of the CS field.

What we can say about this article is: there are more software than hardware jobs, but EEs are dual purpose, and overall have lower unemployment.

Comment What for? Swift isn't anything special (Score 1) 183

I completely disagree Swift VERY special. I'm a embedded systems programmer, and I most to use Swift. There is no other serious contender right now for a modern systems language than can replace C, C++ or objC.

Swift ia very unique language is that it:
1) Has the high level language syntactical goodness of a scripting language like Python or Ruby
2) Has the native performance of a systems language like C
3) Has strong support for multiple paradigms including Functional Programming, Object, and procedural
4) Can morph from a JIT language during compile time for faster programmer efficiency (Like Java), and compile fully native like C
5) Has a hot-coding environment like I've never seen anywhere else

There is only one language that come close to this, and that is Rust. But Rust is probably 5 years from being production ready. And it lacks the JIT-y hot coding goodness.

Comment Re:Obj-C (Score 1) 316

True. True. and True.

Having said that, I see a couple of things coming down the pike. First, Java usage have been in pretty steady continual decline since 2000 (Tiobe). In the last couple of years C has retaken the top spot. (though it is somewhat surprising that there hasn't been a noticeable bump upward in Java use since Android has taken off).

Universities are largely moving away from Java as a teaching language. It has moved very strongly to Python in the last few years. I suspect this is impacting Java usage quite a lot.

Comment Re:Swift is very fast (Score 1) 316

Refcounts don't kill the parallelism.

Apple went down the path of extensive parallelism using queue-based thread pools (libdispatch) several years ago... this is pretty optimal approach to concurrency. In C/C++/objC Apple added the extension for "blocks" to GCC and Clang which are the same thing as lambdas. Swift has the idea of lambdas built right in from the get-go. Libraries using libdispatch deep down, together with language hints that help autovectorization, make it so Swift enjoys parallel excution not unlike a functional language, but at native speed.

Comment Re:Obj-C (Score 1) 316

I don't see any support for your claim at all.

Apple has typically supported the last 3-4 generations of devices with new updates. iOS8 just released supports phones back to the 4s, which was released back in 2011. Given that *no other* manufacturer has anything close that kind of OS upgrade support history, I really don't see how you can knock Apple at all on this point. (if you compare the install rate you can get a good picture of this in 1 week iOS8 was installed on 50% of the user base, compared to just 25% of KitKat after 10 months)

These performance issue are huge! The Android team made the wrong choice with Java. essentially they have saddled Android with the need of 2-3x the CPU and 4X the RAM to do the same things as an iPhone. Not only does that cost money (and profit), but it sucks battery life, requiring bigger fatter batteries.

Comment Re:Obj-C (Score 1) 316

No doubt these are nice features. Which is why the hybrid approach of Swift is the best of both worlds. JIT live-code at development, compile time speed and memory footprint.

But some (like Linus T.) would also point-out this as a reason to keep programs in languages like 'C', it keeps the mid level programmers out who need more hand-holding.

Slashdot Top Deals