Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 Internet speed test! ×

Comment Re: Spare us. (Score 1) 112

OO is not an overblown methodology. OO designs are so popular because they reduce complexity (when implemented properly) by representing logic in the form of re-usable, extensible objects. Opposition to OO design typically comes from junior programmers who haven't yet struggled to maintain or update existing, non-OO systems.

That was the case in the mid-90s, but it's simply not true today. Today, junior programmers are trained on object-oriented languages, and most of the opposition comes from senior programmers who have struggled to maintain existing non-reusable, non-extensible, and (especially) non-scalable OO systems which have bloated over time.

It took the existence of legacy OO systems to truly understand this.

Comment Re:Spare us. (Score 1) 112

Yet, I still see OO heads around who think; the more it inherits, the more it is OO.

You can thank Grady Booch for this. (The other early 90s "gurus" can share some of the blame, but Booch is the worst offender.)

Compare Alan Kay, who coined the term "object-oriented":

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them.

with Grady Booch, who has some very expensive CASE tools to sell you:

Object-oriented programming is a method of implementation in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships.

There are three important parts to this definition: object-oriented programming (1) uses objects, not algorithms, as its fundamental logical building blocks (the “part of” hierarchy [...]); (2) each object is an instance of some class; and (3) classes are related to one another via inheritance relationships (the "is a" hierarchy [...]). A program may appear to be object-oriented, but if any of these elements is missing, it is not an object-oriented program. Specifically, programming without inheritance is distinctly not object-oriented; we call it programming with abstract data types.

Now to be fair to Booch, he was working at a time when it was believed that analysis was the really hard part of software development. You have to remember that this was a boom era when old paper-based businesses were computerising their processes. There was a tension between keeping continuity between the old business and the new one (it had to be close enough that you weren't essentially rebuilding the business from the ground up) while also taking the opportunity to do things better. Understanding precisely what the new system should do was a very hard problem.

Things have changed.

Comment Re: Spare us. (Score 1) 112

But are just coded procedural inside a class wrapper.

That's an extremely reasonable approach. If the problem is procedural, but you're working in an OO language without a real module system, many programmers use the object system as a de facto module system. Modularity is important.

However if I were interviewing for a software development shop making some big clunky product I can just as easilly state all the greats OO has to offer.

Sure, but if you don't want your product to be unnecessarily big and clunky, you could consider hiring programmers with some self-restraint. And possibly better taste.

Comment Re:Spare us. (Score 2) 112

Yes, but also no.

Look at JavaScript. ECMAScript 2015 finally added something kind of resembling real classes. Why is that?

Because the first job of JS has always been to manipulate DOM which was designed in the "90s class hierarchy bloat" aesthetic. The need, but not the ability, was there from the beginning.

If Eich had managed to get Scheme in, we wouldn't be having this conversation now.

Tha half-arsed Smalltalk/Erlang style OO that node.js developers seem to be embracing is more "real" than this. I do not think that OO is a failure. I think that Alan Kay has beaten Grady Booch but the world hasn't realised it yet.

Comment Yeah, you do... but no, we don't. (Score 1) 256

I drive on highways with 55-65 MPH speed limits, just like everyone for the last 50 years, with cars built for those speeds.

From time to time, I drive a 2016 corvette on Montana highways with 80 mph speed limits. It is fair to say that the car loafs along. It was absolutely built for these speeds, and speeds considerably higher. I often reach those higher speeds. [Um. Allegedly. Cough.] Many other models are built with similar capabilities. The highways here are well designed for those speeds. Even many of the secondary roads here are pretty good for them, though not as good.

Methinks you are thinking well inside your own box. Poorly. Which makes me raise my eyebrows at your assertion that you are a physicist. That may be unfair; many people are notably vertical in their strengths. But still, my eyebrows are raised. :)

We can also (if we are honest) observe that progress, and the potential it unleashes in many cases, is not all that closely linked with what's commercially available or common around the time of the fundamental invention. In the first decade after lasers were invented, for instance, there was no significant commercial application. When the integrated circuit was invented, it wasn't much to look at and functionally speaking, for decades, it was outright pitiful compared to ICs today. We're still dealing with developing a full understanding of how neurons do what they do. In laser parlance, in 2017 we are yet pre-laser, and anyone who tries to tell us that lasers can't do X at this point should be considered, at most, a hand-waver in the grips of a fit of profound hubris.

WRT the subject at hand - intelligence and consciousness resulting from information processing - nature has, fortunately enough, provided numerous models at various levels. So we know it can be done at least one way - neural-like systems. Sure, it's obviously not easy. Brains use very small, very complicated, and very difficult to understand computing elements.

But achieving a manufactured intelligence is also obviously highly interesting and to many, highly desirable. Assuming only that our technological progress doesn't actually halt due to some unrelated factor (war, asteroid, runaway climate, alien invasion, etc.), there are many reasons, all supporting one another very, very well, to assume that we will "get there from here." Not the least of which is there are many (sub-)reasons to presume that will be a great deal of economic leverage in such technology.

And, perhaps most relevant to you, there are no known physics related reasons to presume that we won't get there eventually. As you should know very well. If one is (or multiple are) discovered - for instance, should it be determined at some point in the future that brains use some heretofore unknown physics mechanism(s) to do what they do - then we may quite suddenly be on different grounds in terms of ultimate practicality. But there isn't even a hint of this as yet. It definitely appears to be chemistry, electricity, and topology all the way down as far as brains go. That stuff, we can do. Larger and clumsier and perhaps even slower... perhaps even only as emulation... yet we can do it. We just don't know exactly what to do. Yet.

Comment Trendy (Score -1) 173

People are being trendy. Old farts have decided to do a "digital detox" for a while. In ten years it will have as much meaning as their Atkins diet. In the end, we all try to limit our unproductive time - but reading is reading, and cutting out your reading just because it is on a "screen" is straight-up retarded. Or trendy. Whatever, I need a smoothy cleanse.

Comment Re:Fuck California. (Score 1) 235

actually it was the collectivist/Marxist special snowflakes that pushed

You have an interesting read on history. That is, you haven't read it. Zoning did not arise from Marxists.

Those laws are unconstitutional

Actually, zoning, property taxes, and even eminent domain have all been tested in court. They are constitutional.

Comment Re:Fuck California. (Score 1) 235

You don't have a right to my property.

I have to laugh at this. Of course he does, through force of law. You essentially rent the land through property taxes, and you have to abide by zoning rules and ordinances. You have to meet certain standards with your construction, and the house must be serviced by certain kinds of utilities to be rated habitable. And if you want to enter the commercial sphere you have to follow the rules of the market.

None of what I said is even remotely controversial or new, and if you disagree with that it is you who are the special snowflake.

Comment Re:You were hired to work for THEM (Score 0) 387

Your understanding of "salary" is probably not in line with law, though it depends on your industry and state. It's very complicated (you can make a good living specializing in it as a lawyer). Here is a 5-minute rundown.

For most people in most industries, their "salary" is the minimum amount they can expect to receive from their employer each week, no matter how much they work. If this situation does not apply to you, then you become a non-exempt employee and are subject to all the hourly rules like overtime. This is the part that probably trips you up, as it leads to a lot of misunderstanding:

However, whether an employee is paid on a salary basis is a "fact," and thus specific evaluation of particular circumstances is necessary. Whether an employee is paid on a salary basis is not affected by whether pay is expressed in hourly terms (as this is a fairly common requirement of many payroll computer programs), but whether the employee in fact has a "guaranteed minimum" amount of pay s/he can count on.

In other words, just because your payroll system requires you to fill out a timesheet with 80 hours and your check seems to agree does not mean that is anything more than an implementation detail.

Comment Re:You were hired to work for THEM (Score 1) 387

my salaried position requires me to work 40 hours a week, or more if the company decides I need to

That's probably against your state's work rules, but calling them out on it will likely cause you more grief than it is worth. They don't get to dodge overtime rules without also accepting the loss of the ability to demand 40 hours.

They should not be using company resources for personal projects, but like the 40 hour rule this is also widely disregarded. You can fire people for any reason in most states, so as an employer why use hours when it can get you in trouble? Just make up whatever reason you want, so long as you can back it up.

Comment They're still people (Score 2) 387

The expectation is that the salaried position is a 40 hr/wk position.

If you treat your employees only as a measurable commodity, entering into no acknowledgment of their worth, individuality, and personal potential, while attempting to mine every second of their time like a greedy, annoying crow, or worse, if you attempt to sit on those things and repress who they are, then your employees will not be loyal. This is inevitable.

When the first even nominally better opportunity (which might not even be better on grounds of pay, since everything else at your place sucks so bad) and they'll be gone. Because you made them hate you.

Which you deserved.

Sane employment is pleasant, goal seeking and reward-rich. For everyone. Not based on counting drops of sweat and screaming when the count is short. Balance liberty against compassion in tension as you encourage your employees to chase your goals and their goals. Otherwise you run the risk of just turning out to be considered another reviled prick.

I've run several very successful businesses. I'm not guessing here. Happy people do better work. Period.

Slashdot Top Deals

COMPASS [for the CDC-6000 series] is the sort of assembler one expects from a corporation whose president codes in octal. -- J.N. Gray