Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×

Comment Re:Perl, my favorite language is rated higher... (Score 4, Informative) 386

When doing low level system programming, there aren't that many viable choices out there. C, C++, possibly ObjectiveC (not familiar enough with it to tell for sure). That's about it. Of those, ObjectiveC is, pretty much, a one platform language. C++ is used quite extensively, but it is way too complex, resulting in most C++ programmers not knowing what the 1@#$@!# they are doing. Also, some C++ features are not suitable for some low level scenarios. For example, you probably wouldn't want your kernel code to throw exceptions, or do iostream formatting, in kernel code.

C, on the other hand, is a very simple language. It has no expensive features (though, to be honest, that mostly means that if you need something expensive, you'll need to do it yourself). As such, it is without competition for what it offers. The most it loses in market/mind share is through scenarios that used to require low level system programming but no longer do.

As for D....

D advertises itself as supporting this mode. My employer chose to develop a low-level high performance low latency system in D. I've been programming it for the past half year. I'm not overjoyed. I don't hate D, but my personal opinion is that we'de have been better off going with C++ (though, to be honest, I love C++ like few of my peers do).

I have two main gripes with it on that front. D has a horrid GC (though no GC provides the latency requirements we need), and though it claims you can do without it, you really can't. At least, not without giving up on much of the language features and almost all of the standard library. When comparing to C++'s ability to use custom allocators with the standard library, D's phobos seems deathly pale.

D also claims to support RAII semantics. I happilly went about implementing a reference counting pointer, only to find out that there are cases where you cannot use a struct with a destructor, and there are cases where you theoreticaly can use one, but in practice find that the compiler will not call your destructor. All in all, RAII is an untested unutilized option in D.

Shachar

Comment Re:Gotta react to the market (Score 1) 386

The D syntax may be more readable than C++, but to claim that it is simpler is just farcical. The number of language constructs, their specialization and their focus is staggering. For a language that set up to simplify matters, it has done anything but.

When you do:
A a;
a.something;

"something" might be a member. It might be a property. It might be a method with no arguments (which gets called). It might be a function defined outside the class with a special property. It might be any of the above on a member of A, specially defined (subtyping). I will not be surprised to hear I missed something.

How is that simple?

Shachar

Comment Re:islam (Score 1) 1350

You're missing a ton of background, but this is increasingly getting off topic.

If you like to know why that would not work (as well as some good reasons why Israel cannot do that, at least not in the literal way you wrote it), email me (your email is not public).

Shachar

Comment Re:islam (Score 1) 1350

The big one is a peaceful resolution to Israel/Palestine.

Personally, I don't think it is as big a part in solving that problem as you seem to think. My personal take on this is that it is a very convenient straw man to use ("we're only doing this to help the poor Palestinians", with no limitation on what "this" is). History suggests that very few Muslim and Arab leaders care much about the actual Palestinians. Should that problem magically (because no other option seems likely at this point) disappear, Muslims will just pick (manufacture?) another one.

Regardless, I'm curious. How do you get peaceful resolution to the Israeli/Palestinian conflict? I'd like you to try to limit your suggestions to things that had not been tried before (as those, obviously, do not work).

Also, saying that solving one problem is a key factor in solving another means that if the first is impossible, so is the other.

Shachar

Comment Re:islam (Score 1) 1350

OR let me ask it this way. Name one Islamic Nation where Christians, Jews, Buddhists, Atheists or anyone else is actually FREE to practice their religion (or lack thereof).

AFAIK, in Iran Jews do have the right to practice their religion. They are also represented in government.

Don't get me wrong. They are legally defined as second class citizens, their government position is reserved, and they are precluded from participating in the general elections (which are not exactly free either), and their situation is, in most ways, worse than those of the Muslim Persian. Still, in your narrow metrics, Iran is such a country.

I know there are also Jews in Yemen, and I think also in Turky. I don't know the details, but sketchy memory says that they do have at least some freedom of practicing religion. There are also Jews in Egypt, and there they are, at least according to the dry letter of the law, free to practice.

Now, had that been an "and" list, I'm not sure I'd be able to come up with as long a list.

Shachar

Comment Re:No, They Haven't Called Me (Score 1) 246

That is not certain.

I don't have first hand experience, but if I were to call someone to let them know that something bad happened to their kid, I'd be hesitent to leave too many details in a voice message. You generally want to downplay the injury until you know the person receiving the news can handle it.

As such, I'd probably leave a message saying "hi, my name is X and I'm calling about your kid, please call me back". If your attitude is scammers and spammers oriented, you are likely to not do so.

Shachar

Comment Re:What's happening to Linux? (Score 1) 257

Funny, I'm moving in the opposite direction, but reach the same conclusion. Working with (most) modern IDEs just seem like masochism after you've used VIM.

The learning curve for vim is horrible. I can understand anyone who gives up before reaching reasonable productivity levels. Once you've gone through it, however, the IDEs are just no competition.

Shachar

Comment Re:A law's bad effects aren't decisive (Score 1) 260

You have to remember that the protection code has is reduced compared to the protection that other works of art has. The law and precedence (IANAL) acknowledge that there is significant amount of function (i.e. - non-copyrightable) parts to a program.

The question here, as I see it (and, again, IANAL) is whether the function's arrangement and names, which might have some expressive (i.e. - copyrightable) value to begin with, can turn to purely functional by the simple fact that implementing it is essential in order to make things work.

As far as I remember, other laws (including the hated DMCA) has language that suggests it does (allowing reverse engineering for the purpose of interoperability).

Shachar

Comment Re:This just proves... (Score 1) 173

What you don't get (possibly because you are not a programmer) is that Ruby-on-Rails-with-XHTML-and-JQuery-NoSQL-Hadoop technology is simplifying programming. Simplify it any more, and you'll likely end up with worse (with both likely over the near future).

Back at the day where the programming language was hard, only people with the knack could do it. Programs still had bugs (and always shall), because programming is a complex task and we did not have the tools to simplify the complexity back then.

And then the demand for programmers sky-rocketed, and people who believed you were right started creating RADs (rapid application development environments). Pretty much all the buzzwords you dumped are in the category. The idea was to create an environment that will simplify the programming process, so that constructing a program be more like plumbing.

Guess what. It still isn't. The only difference is that now there are people doing programming that are not programmers. They are plumbers. The result is what you see. The problem is that, unlike plumbing, people still expect the end result to be anything they like. It is the lack of limitations on the end result that causes the need for understanding what you're doing, not the technology with which you develop.

Shachar

Comment Re:Jeez, just come clean (Score 1) 146

GP assumes that the Earth's mass is the Earth's mass (i.e. - an orbital around Earth). I am not aware of any affect the mass of the satellite has on its trajectory, so I'm not sure why you included it.

Which leaves us, in your analysis, three parameters. Vector of position, vector of velocity, and a time scalar. Let's call it a trajectory triplet. This results in 7D trajectory space. Those three are not, however, orthogonal (or even linearly independent).

Just as an isolated example, take a certain satellite triplet. Then take that same satellite's triplet a few seconds later. None of the values of the triplet are the same, and yet it obviously describes the same trajectory.

I am not an astrophysics, so I will not claim absolute knowledge in this field. My limited understanding suggests that all trajectories pass around the equator. Furthermore, for a satellite doing a perfect circle, the speed (scalar) is a direct function of its height. We can, therefor, narrow down the trajectory parameters to:
Height when over the equator
degree of elevation above said height
degree of descent below said height
angle crossing the equator
two phase scalars (one of accounting where above the equator we are talking about, and the other for accounting the possibility of two satellites following each other in the same trajectory).

That's 6 scalars (as opposed to your 2 vectors and two scalars). As far as I can tell (but see disclaimer above), those six are orthogonal. I am not 100% sure the two phases are, indeed, orthogonal, but I am fairly sure you can arbitrarily change any one (or more) of the others and still get a valid and different trajectory.

Still not one dimensional (not sure where that came from), but at least one dimension less than you claimed it was.

Shachar

Slashdot Top Deals

fortune: cpu time/usefulness ratio too high -- core dumped.

Working...