Please try to read my posts before replying to them.
"When I'm talking about safety vs. flexibility, I'm really talking about the sort of low-level fiddling common in systems programming and high-performance fields. Either you can ignore things like type systems and just twiddle bits and hack memory, or you can't. If you can, your language is flexible in this sense but unsafe. If you can't, your language may be safer, but it will not allow some flexibility. There is a fundamental dichotomy here"
I figured as much. Unsafe pointers are not flexability, they are a way to gain performance. You can still do what you want without them, it just might not perform as well. Flexability is languages like ocaml and nemerle, allowing you to use any programming paradigm you want when you want, and combining powerful features like macros in a sane and usable way. Like I said, this is irrelivant. I asked why you think a well designed language is a language without unsafe pointers. I never said anything about unsafe pointers, and like I said, C has them too, but its well designed. Same with D.
I don't have arguments for fortran and asm. Like I said, you shouldn't use them. Just like you shouldn't use C++. I was just pointing out how from your little vantage point, you see fortran and ASM as ridiculous options that would be awful to use. From the standpoint of anyone who's use a nice language, C++ is right there with fortran and asm.
Yes, fortran can be wrapped up and called from C++. Just like you can write your unsafe, bit twiddling, pointer abusing code in C, and then call it from ocaml which you use for the rest of your code. Use two good languages for the tasks they are good at, instead of using one awful language to try to do both. This is my point.
Again, give me actual concrete reasons why D is not acceptable, but C++ is. D lets you do unsafe things, high performance pointer and bit twiddling tasks, embedded asm, etc, etc. What is the problem? The gnu D compiler should work just fine on your platform, or are you seriously using some ancient 30Mhz motorola 88k based machines or something? Are you really using a platform that gcc doesn't support?
"As for OCaml and getting performance out of functional code, I will simply ask you to provide a single, non-trivial example where this has been shown to be the case."
Several of the examples you just gave of imperative code used functional code. You seem to be confused. You are saying that you are all about the best tool for the job, but yet all ocaml code must be pure functional code for no reason? Ocaml lets you use functional, imperative and OO code all at the same time for a reason. Take this for example:
The code is mostly functional, including recursion. It just has an imperative "main" function with a few for loops in it. Look how little code that is too, its almost like the language was meant to help you instead of hinder you. You are saying that doesn't count because of the imperative main? Even though that's the whole point of ocaml? If you want pure functional try haskell or clean. Clean is a better example of good performance from a pure functional language.
Of course, all this is irrelivant, as I said. The question here is why do you pretend that its ok for C++ to be a pile of shit, and assume that any well designed language must be taking away your precious pointers? Neither C nor D take pointers away from you. They are both nice, well designed languages. Either explain why D is not good enough for you, or stop pretending C++ is magical and that programmers should just start being perfect and never make mistakes again. C++ takes brain power away from doing the job, and puts it on dealing with C++. This is a bad thing, and its why you can do much more in much less time with D, even though its not really higher level.
"Because by their nature, safety and flexibility are almost invariably opposite ends of a programming language spectrum."
That's a bizzare non-sequitur. I don't agree with this random statement either, but lets stick with the first one. Why do you think a language designed well and not full of horrible hacks and hundreds of ways to shoot your feet off is "safe and unflexible"? Again, look at D. While I admit it does have some safety that C++ does not, its not any less flexible than C++. Its just designed well and doesn't have all the crazy shit like the example that started this thread.
Or what about C? Its not safe by any stretch of the imagination. But its a very basic language with almost no features, making it very simple and easy to use. You don't have to remember hundreds of crazy things to use C in an reliable and expected manner. But C++'s huge pile of crazy makes it hard to use reliably.
What is your definition of flexible? I think ML and lisp languages are much more flexible than C++. They provide far more useful abstractions and powerful features. Do you think having pointers is the definition of flexible?
"Why would we use FORTRAN?"
Because its faster for numerical computation than C++. If you get better performance out of C++, then clearly you don't spend all that time learning that you claimed you did, or your fortran code would be much better.
I don't think you should use fortran, this was just a trick to get you to point out your own mistake. You can use fortran code from a different language without having to suffer with using fortran. You can also use C (or even C++ if you really have to) from another language. Do you really have any reason to use C++? Or do you just use it because you've never learned a good language? How much of your code really is benefitting from C++, and at what cost in maintainence and debugging?
"As for ASM, it's not exactly portable, now is it? In any case, with modern optimising compilers and processing architectures, it's rather rash to assume that anyone but a serious platform expert would get better performance out of assembly than the compiler does."
But if you really spent all that time learning the ins and outs you would be that expert. What you are really saying is its ok to have to spend 10 years trying to learn how to use C++ without shooting your feet off, but its not ok to spend 10 years trying to learn how to use other languages more effectively.
Your ignorant dismissal of other languages certainly does indicate that you are just in the camp of people who learned C++ and now don't want to admit what a shitty language you spent that time on.
"I spent a bit of time exploring D. And then I dropped it, in the same pile as Java, as having a few improvements over C++ and a few steps backwards, but overall nothing revolutionary that would help me enough to justify the switch."
Start naming specifics. D gives you everything you need from C++, only in a language that isn't actively programmer-hostile. What's the problem exactly? You seemed to be under the impression that C++ is the only possible language for your magical C++ only task. There's no reason D couldn't do it, and likely faster based on the shootout results. It may not be worth switching for you since you already know C++, but that's not the point. The point is you can easily have the power C++ gives you without having a shitty language that makes it as hard as possible to write maintainable code.
"OCaml is a nice language, in many ways, but not a good tool for systems programming. To get sane performance out of it, you have to throw away much of the functional programming stuff anyway, and its syntax for more imperative styles is cumbersome."
No you don't. You can get very reasonable performance from ocaml using functional code. And its imperative syntax is no worse than the rest of its syntax (which is admittedly not pretty). Of course, that's not the only way to go is it? Some people have foun
Why do you make the assumption that well designed languages that aren't full of horrible ways to accidently shoot your feet off are "safer but less flexible"? What makes languages that are designed to help you instead of hinder you "less flexible" exactly? Take D for example, its basically C++ as DESIGNED by someone who actually has experience having to write code. Where is D or ocaml or SML or lisp any less flexible than C++?
And high performance mathematical code is not exactly a great fit for C++, why aren't you using fortran if performance matters so much? Hell, if you have so much time on your hands to study C++ so much that you don't get bitten by its hundreds of stupidities, why not do it in ASM?
Lets rely on programmers to know everything and be perfect, rather than having languages that don't suck. Programmers should never be making mistakes anyways, and its easy to always remember the hundreds of C++ problems that will bite you when coding at 3 am in crunch time. Who needs to concentrate on the problem at hand anyways, much better to use your precious memory on remembering how to avoid getting bitten by a hostile language.
Instead of trying to get each app to use different IPs, when most will just use the IP on the same subnet as your default gateway, use users. Replace "firefox" with a shell script that does "sudo -u firefox_user firefox", and write your firewall rules for traffic shaping based on the users. This is also a good idea in general so that if you get hit with a malicious site exploiting firefox, it can't delete/change any of your data.
"Good for you; and my comiserations for having to deal with Sun's compilers. But if you still believe that Bjarne's books define the standard, you're so far behind the times that it's hard to take you seriously. Go and look at the standard, you'll find it complex but fairly unambiguous; implementation defined behaviour is quite rare, and usually exists for a good reason."
Are you seriously not able to understand this yet? The standard only defines the semantics and syntax. It does not enforce any particular method of writing the STL library behind the scenes. That is by definition implimentation specific. Which is why different implimentations have vastly different performance characteristics.
"My comiserations; you've clearly been unlucky in your choice of employers. There have been a lot of bad C++ projects, but the same can be said for most languages that have left the lab - I can certainly vouch for the Java on that count."
Sure, you can do bad with any language. But C++ is the only language I can think of that really has almost no good software written in it at all. C++ is a major reason most average joe computers users think "computers are just broken" and that applications should crash all the time.
"You're not seriously suggesting that Perl is the way forward in ANY sense?"
I didn't see anything suggesting that, why did you? He said some people find perl to be less horrible than C++. C++ is the only language I know of that actually makes perl look elegant.
Lisp is incredibly simple, it dumps almost nothing on your poor brain. It only takes a long time to understand how much power the simple language offers you, as you figure out how to use it in new ways.
And saying ML dumps too much on you, and then giving nemerle as an example is just plain retarded. Nemerle has all the same complexities as every other ML implementation, it just has C style syntax. The semantics are all the same, there's just as much to learn, and it all works the same.
Good languages don't get popular because most of the world doesn't want good languages. They want a large pool of replacable, base competance programmers. If you add the good things from good languages into bad languages like C#, they will end up just as complex and just as difficult for the mediocre to grasp as the good languages those features came from.
And of course, why does popularity matter? The grandparent asked for a better alternative to C++. Ocaml is one of many such better alternatives. He didn't ask for an "industry standard", PHB approved alternative.
It has more to do with the fact that google has produced a couple of actual apps. You know, software people can actually use to do something. MS research produces alot of papers and talks and websites, and very little actual software.
Singularity OS? Gee, I wonder why nobody knows about that OS MS hasn't made, that you can't have, and that is just MS's copy of inferno anyways? Why do you think anyone would care about MS putting up a website to say "we do awesome crazy research... that you can't download and which will never be released in any way, shape or form"?
Its a huge, bloated, slow loading, memory hogging pile of crap. Its painfully obvious from trying to use it that the code must be awful, or they endless parade of stupid bugs would actually get fixed.
Monad is based entirely off of VMS, only with significant functionality removed. Just because you don't know where they took the idea from, doesn't mean its their idea.
PowerShell is a half assed implimentation of what VMS and as400 users have had for years, only MS left out lots of functionality. And they are too stupid to realize they need to have an SSH server too so that you have secure remote admin functionality.
Singularity is just MS inferno, with the notable exception that inferno actually exists, you can go download it and use it right now. Where as singularity is not and likely never will be available.
FreeBSD doesn't run on any embedded platforms. Try not to let your obvious freebsd bias interfere with common sense. NetBSD is certainly an option, as is openbsd which at least supports a few embedded platforms like arm. But freebsd has no embedded ports, the closest you can get to embedded with freebsd is small PCs like soekris.
Torque is not open source. And its barely an engine. Its horribly outdated, runs like shit on modern hardware, and is a horrible mess. If you just want to make a crappy tribes rip off torque is a good choice. But its useless as a generic game engine. The code ranges from terrible to simply broken, and nobody at garagegames is capable of fixing it. Community members have done more to fix it than garagegames has, which is very sad for a commercial product.
"Users, What Users?: Coding for yourself is nice, but if you want users to flock to your app, you might want to actually consider what they want."
You know, not everyone wants users to flock to their app. Lots of open source developers are writing software for themselves, and are nice enough to let other people use it if they like. If someone is nice enough to share with you, either be thankful and respectful, or just don't bother using it.
You can't tell those of us who are simply nice enough to let you use our code that we have to be nice to demanding whiners just because some other developers of other projects want users to flock to their app.
There's good software and bad software. Wether its open source or closed has nothing to do with it. And you're not a very good sysadmin if you start relying on software before you've bothered testing it out, regardless of wether its open source or not.
If nobody cares about a project it will die, so why is that bad? And if someone does care, they will fork it and update/maintain it, which is clearly a good thing. What is wrong with either of these outcomes?
to think gnome sucks. Personally I don't care for big desktop environments like kde and gnome. But I have had to setup linux desktops for users at my last job, and given the choice of kde or gnome, every single person hated gnome, said it was confusing and hard to use, and chose kde. Lots of people consider gnome to be an example of a failed project, its not just kde users.
"I believe DHH cried "missing the point," which isn't that inaccurate."
No, he cried FUD, like he always does. Anything bad anyone ever has to say about rails, or even just saying something like "I don't really care for rails, catalyst is alot nicer" becomes FUD to DHH.
"Why did DHH pick on Java (I use the past tense because I haven't seen much of this recently)? Because Java people were the first out of the woodwork dismissing Rails."
No, DHH started out right off the bat trashing java in order to get attention for rails. Its hypocritical for him to use FUD against java/j2ee as a marketing tool, and then cry about other people "spreading FUD" about rails, especially when its not usually FUD at all.
"It's not FUD to say that Java is a beast to work with on many levels. It's an opinion and it may not be one you share"
That's not what he says though. He makes nonsense claims like "rails lets you do the same thing 10 times faster than using java", and "people only use java out of fear". That's FUD. And I do happen to share the opinion that java isn't much fun to work with.
I don't care for java personally, but to pretend DHH hasn't spent as much time spreading FUD about java as he has whining about other people's valid and legitimate complaints about rails is just silly.
DHH has always acted very childish, and while I can certainly understand how easy it is to get defensive about your work, he really needs to grow up and learn how to deal with criticism like an adult. Its not hard to see why so many rails alternatives have far surpassed rails, software doesn't improve when the author dismisses all criticism as FUD.
Joel made the obvious and correct statements that ruby is slow and has no unicode support, and that rails is immature and has not scaled well for alot of people. DHH cried FUD like he always does. DHH is always offended by everyone and always crying about everything because he has such a huge emotional attachment to rails. Its ironic since he spends so much time spreading FUD about java himself.
You can certainly make multiplatform games. But most developers are tards and make windows only directx games. Those tards are likely to make directx 10 only games, and some have already said that's what they are doing. Good developers won't have any extra work, since they will just keep using opengl anyways.
Win2k and XP are the same, so you don't have to do anything to support them both if you support either of them. Since directx 10 is vista only, its extra work to support XP/2k if you are using it. There's already vista only games announced.
I try to give ACs the benefit of the doubt, and the first reply was just barely sane enough to get me to bite, well done. But you can't just go jumping way overboard like that, its WAY too obvious you are trolling now. Try to stay subtle, or at least turn up the crazy a little more gradually.
Your post is complete and utter nonsense. Did you even bother to read my post? Yes, I do know ocaml. No, you cannot use a C style syntax for function calls (unless you work some camlp4 magic). Passing a single argument that happens to be a tuple is not the same as passing 3 args. You even pointed out how dumb your response is in your response! If you define all your functions to take tuples, currying is gone.
I don't want to pass my functions tuples, I want to pass it the seperate args. I just wish ocaml used a readable syntax, like I said. Trying to use C style function call syntax in ocaml gives you ENTIRELY different behaviour, and its not in any way the equivilent of calling the function with seperate args. My complaint is that the syntax for calling functions: func arg arg arg is much less readable than the tried and true C style: func(arg, arg, arg)
Wishing the syntax was nicer is not the same as not knowing the language, next time try using your brain before you use your keyboard. How can you write a reply that actually points out how stupid the reply you're writing is, and yet still click the submit button anyways?
I'm using pike right now. I actually started writing a web framework for pike. If you don't mind having to write statically typed code, but getting run time type errors anyways, then pike is a good choice. If you need strong typing though, then keep looking. Ocaml is nice if you can tolerate its syntax, but I personally find: function arg1 arg2 arg3; to be a terrible mistake, as function(arg1, arg2, arg3); is much clearer.
Please try to read my posts before replying to them.
u ages.html
"When I'm talking about safety vs. flexibility, I'm really talking about the sort of low-level fiddling common in systems programming and high-performance fields. Either you can ignore things like type systems and just twiddle bits and hack memory, or you can't. If you can, your language is flexible in this sense but unsafe. If you can't, your language may be safer, but it will not allow some flexibility. There is a fundamental dichotomy here"
I figured as much. Unsafe pointers are not flexability, they are a way to gain performance. You can still do what you want without them, it just might not perform as well. Flexability is languages like ocaml and nemerle, allowing you to use any programming paradigm you want when you want, and combining powerful features like macros in a sane and usable way. Like I said, this is irrelivant. I asked why you think a well designed language is a language without unsafe pointers. I never said anything about unsafe pointers, and like I said, C has them too, but its well designed. Same with D.
I don't have arguments for fortran and asm. Like I said, you shouldn't use them. Just like you shouldn't use C++. I was just pointing out how from your little vantage point, you see fortran and ASM as ridiculous options that would be awful to use. From the standpoint of anyone who's use a nice language, C++ is right there with fortran and asm.
Yes, fortran can be wrapped up and called from C++. Just like you can write your unsafe, bit twiddling, pointer abusing code in C, and then call it from ocaml which you use for the rest of your code. Use two good languages for the tasks they are good at, instead of using one awful language to try to do both. This is my point.
Again, give me actual concrete reasons why D is not acceptable, but C++ is. D lets you do unsafe things, high performance pointer and bit twiddling tasks, embedded asm, etc, etc. What is the problem? The gnu D compiler should work just fine on your platform, or are you seriously using some ancient 30Mhz motorola 88k based machines or something? Are you really using a platform that gcc doesn't support?
"As for OCaml and getting performance out of functional code, I will simply ask you to provide a single, non-trivial example where this has been shown to be the case."
Several of the examples you just gave of imperative code used functional code. You seem to be confused. You are saying that you are all about the best tool for the job, but yet all ocaml code must be pure functional code for no reason? Ocaml lets you use functional, imperative and OO code all at the same time for a reason. Take this for example:
http://www.ffconsultancy.com/free/ray_tracer/lang
The code is mostly functional, including recursion. It just has an imperative "main" function with a few for loops in it. Look how little code that is too, its almost like the language was meant to help you instead of hinder you. You are saying that doesn't count because of the imperative main? Even though that's the whole point of ocaml? If you want pure functional try haskell or clean. Clean is a better example of good performance from a pure functional language.
Of course, all this is irrelivant, as I said. The question here is why do you pretend that its ok for C++ to be a pile of shit, and assume that any well designed language must be taking away your precious pointers? Neither C nor D take pointers away from you. They are both nice, well designed languages. Either explain why D is not good enough for you, or stop pretending C++ is magical and that programmers should just start being perfect and never make mistakes again. C++ takes brain power away from doing the job, and puts it on dealing with C++. This is a bad thing, and its why you can do much more in much less time with D, even though its not really higher level.
"Because by their nature, safety and flexibility are almost invariably opposite ends of a programming language spectrum."
That's a bizzare non-sequitur. I don't agree with this random statement either, but lets stick with the first one. Why do you think a language designed well and not full of horrible hacks and hundreds of ways to shoot your feet off is "safe and unflexible"? Again, look at D. While I admit it does have some safety that C++ does not, its not any less flexible than C++. Its just designed well and doesn't have all the crazy shit like the example that started this thread.
Or what about C? Its not safe by any stretch of the imagination. But its a very basic language with almost no features, making it very simple and easy to use. You don't have to remember hundreds of crazy things to use C in an reliable and expected manner. But C++'s huge pile of crazy makes it hard to use reliably.
What is your definition of flexible? I think ML and lisp languages are much more flexible than C++. They provide far more useful abstractions and powerful features. Do you think having pointers is the definition of flexible?
"Why would we use FORTRAN?"
Because its faster for numerical computation than C++. If you get better performance out of C++, then clearly you don't spend all that time learning that you claimed you did, or your fortran code would be much better.
I don't think you should use fortran, this was just a trick to get you to point out your own mistake. You can use fortran code from a different language without having to suffer with using fortran. You can also use C (or even C++ if you really have to) from another language. Do you really have any reason to use C++? Or do you just use it because you've never learned a good language? How much of your code really is benefitting from C++, and at what cost in maintainence and debugging?
"As for ASM, it's not exactly portable, now is it? In any case, with modern optimising compilers and processing architectures, it's rather rash to assume that anyone but a serious platform expert would get better performance out of assembly than the compiler does."
But if you really spent all that time learning the ins and outs you would be that expert. What you are really saying is its ok to have to spend 10 years trying to learn how to use C++ without shooting your feet off, but its not ok to spend 10 years trying to learn how to use other languages more effectively.
Your ignorant dismissal of other languages certainly does indicate that you are just in the camp of people who learned C++ and now don't want to admit what a shitty language you spent that time on.
"I spent a bit of time exploring D. And then I dropped it, in the same pile as Java, as having a few improvements over C++ and a few steps backwards, but overall nothing revolutionary that would help me enough to justify the switch."
Start naming specifics. D gives you everything you need from C++, only in a language that isn't actively programmer-hostile. What's the problem exactly? You seemed to be under the impression that C++ is the only possible language for your magical C++ only task. There's no reason D couldn't do it, and likely faster based on the shootout results. It may not be worth switching for you since you already know C++, but that's not the point. The point is you can easily have the power C++ gives you without having a shitty language that makes it as hard as possible to write maintainable code.
"OCaml is a nice language, in many ways, but not a good tool for systems programming. To get sane performance out of it, you have to throw away much of the functional programming stuff anyway, and its syntax for more imperative styles is cumbersome."
No you don't. You can get very reasonable performance from ocaml using functional code. And its imperative syntax is no worse than the rest of its syntax (which is admittedly not pretty). Of course, that's not the only way to go is it? Some people have foun
Why do you make the assumption that well designed languages that aren't full of horrible ways to accidently shoot your feet off are "safer but less flexible"? What makes languages that are designed to help you instead of hinder you "less flexible" exactly? Take D for example, its basically C++ as DESIGNED by someone who actually has experience having to write code. Where is D or ocaml or SML or lisp any less flexible than C++?
And high performance mathematical code is not exactly a great fit for C++, why aren't you using fortran if performance matters so much? Hell, if you have so much time on your hands to study C++ so much that you don't get bitten by its hundreds of stupidities, why not do it in ASM?
Lets rely on programmers to know everything and be perfect, rather than having languages that don't suck. Programmers should never be making mistakes anyways, and its easy to always remember the hundreds of C++ problems that will bite you when coding at 3 am in crunch time. Who needs to concentrate on the problem at hand anyways, much better to use your precious memory on remembering how to avoid getting bitten by a hostile language.
Instead of trying to get each app to use different IPs, when most will just use the IP on the same subnet as your default gateway, use users. Replace "firefox" with a shell script that does "sudo -u firefox_user firefox", and write your firewall rules for traffic shaping based on the users. This is also a good idea in general so that if you get hit with a malicious site exploiting firefox, it can't delete/change any of your data.
"Good for you; and my comiserations for having to deal with Sun's compilers. But if you still believe that Bjarne's books define the standard, you're so far behind the times that it's hard to take you seriously. Go and look at the standard, you'll find it complex but fairly unambiguous; implementation defined behaviour is quite rare, and usually exists for a good reason."
Are you seriously not able to understand this yet? The standard only defines the semantics and syntax. It does not enforce any particular method of writing the STL library behind the scenes. That is by definition implimentation specific. Which is why different implimentations have vastly different performance characteristics.
"My comiserations; you've clearly been unlucky in your choice of employers. There have been a lot of bad C++ projects, but the same can be said for most languages that have left the lab - I can certainly vouch for the Java on that count."
Sure, you can do bad with any language. But C++ is the only language I can think of that really has almost no good software written in it at all. C++ is a major reason most average joe computers users think "computers are just broken" and that applications should crash all the time.
"You're not seriously suggesting that Perl is the way forward in ANY sense?"
I didn't see anything suggesting that, why did you? He said some people find perl to be less horrible than C++. C++ is the only language I know of that actually makes perl look elegant.
Lisp is incredibly simple, it dumps almost nothing on your poor brain. It only takes a long time to understand how much power the simple language offers you, as you figure out how to use it in new ways.
And saying ML dumps too much on you, and then giving nemerle as an example is just plain retarded. Nemerle has all the same complexities as every other ML implementation, it just has C style syntax. The semantics are all the same, there's just as much to learn, and it all works the same.
Good languages don't get popular because most of the world doesn't want good languages. They want a large pool of replacable, base competance programmers. If you add the good things from good languages into bad languages like C#, they will end up just as complex and just as difficult for the mediocre to grasp as the good languages those features came from.
And of course, why does popularity matter? The grandparent asked for a better alternative to C++. Ocaml is one of many such better alternatives. He didn't ask for an "industry standard", PHB approved alternative.
It has more to do with the fact that google has produced a couple of actual apps. You know, software people can actually use to do something. MS research produces alot of papers and talks and websites, and very little actual software.
Singularity OS? Gee, I wonder why nobody knows about that OS MS hasn't made, that you can't have, and that is just MS's copy of inferno anyways? Why do you think anyone would care about MS putting up a website to say "we do awesome crazy research... that you can't download and which will never be released in any way, shape or form"?
http://www.digitalmars.com/d/
Its a huge, bloated, slow loading, memory hogging pile of crap. Its painfully obvious from trying to use it that the code must be awful, or they endless parade of stupid bugs would actually get fixed.
Monad is based entirely off of VMS, only with significant functionality removed. Just because you don't know where they took the idea from, doesn't mean its their idea.
PowerShell is a half assed implimentation of what VMS and as400 users have had for years, only MS left out lots of functionality. And they are too stupid to realize they need to have an SSH server too so that you have secure remote admin functionality.
Singularity is just MS inferno, with the notable exception that inferno actually exists, you can go download it and use it right now. Where as singularity is not and likely never will be available.
FreeBSD doesn't run on any embedded platforms. Try not to let your obvious freebsd bias interfere with common sense. NetBSD is certainly an option, as is openbsd which at least supports a few embedded platforms like arm. But freebsd has no embedded ports, the closest you can get to embedded with freebsd is small PCs like soekris.
Torque is not open source. And its barely an engine. Its horribly outdated, runs like shit on modern hardware, and is a horrible mess. If you just want to make a crappy tribes rip off torque is a good choice. But its useless as a generic game engine. The code ranges from terrible to simply broken, and nobody at garagegames is capable of fixing it. Community members have done more to fix it than garagegames has, which is very sad for a commercial product.
"Users, What Users?: Coding for yourself is nice, but if you want users to flock to your app, you might want to actually consider what they want."
You know, not everyone wants users to flock to their app. Lots of open source developers are writing software for themselves, and are nice enough to let other people use it if they like. If someone is nice enough to share with you, either be thankful and respectful, or just don't bother using it.
You can't tell those of us who are simply nice enough to let you use our code that we have to be nice to demanding whiners just because some other developers of other projects want users to flock to their app.
There's good software and bad software. Wether its open source or closed has nothing to do with it. And you're not a very good sysadmin if you start relying on software before you've bothered testing it out, regardless of wether its open source or not.
If nobody cares about a project it will die, so why is that bad? And if someone does care, they will fork it and update/maintain it, which is clearly a good thing. What is wrong with either of these outcomes?
to think gnome sucks. Personally I don't care for big desktop environments like kde and gnome. But I have had to setup linux desktops for users at my last job, and given the choice of kde or gnome, every single person hated gnome, said it was confusing and hard to use, and chose kde. Lots of people consider gnome to be an example of a failed project, its not just kde users.
"I believe DHH cried "missing the point," which isn't that inaccurate."
No, he cried FUD, like he always does. Anything bad anyone ever has to say about rails, or even just saying something like "I don't really care for rails, catalyst is alot nicer" becomes FUD to DHH.
"Why did DHH pick on Java (I use the past tense because I haven't seen much of this recently)? Because Java people were the first out of the woodwork dismissing Rails."
No, DHH started out right off the bat trashing java in order to get attention for rails. Its hypocritical for him to use FUD against java/j2ee as a marketing tool, and then cry about other people "spreading FUD" about rails, especially when its not usually FUD at all.
"It's not FUD to say that Java is a beast to work with on many levels. It's an opinion and it may not be one you share"
That's not what he says though. He makes nonsense claims like "rails lets you do the same thing 10 times faster than using java", and "people only use java out of fear". That's FUD. And I do happen to share the opinion that java isn't much fun to work with.
I don't care for java personally, but to pretend DHH hasn't spent as much time spreading FUD about java as he has whining about other people's valid and legitimate complaints about rails is just silly.
DHH has always acted very childish, and while I can certainly understand how easy it is to get defensive about your work, he really needs to grow up and learn how to deal with criticism like an adult. Its not hard to see why so many rails alternatives have far surpassed rails, software doesn't improve when the author dismisses all criticism as FUD.
Joel made the obvious and correct statements that ruby is slow and has no unicode support, and that rails is immature and has not scaled well for alot of people. DHH cried FUD like he always does. DHH is always offended by everyone and always crying about everything because he has such a huge emotional attachment to rails. Its ironic since he spends so much time spreading FUD about java himself.
You can certainly make multiplatform games. But most developers are tards and make windows only directx games. Those tards are likely to make directx 10 only games, and some have already said that's what they are doing. Good developers won't have any extra work, since they will just keep using opengl anyways.
Win2k and XP are the same, so you don't have to do anything to support them both if you support either of them. Since directx 10 is vista only, its extra work to support XP/2k if you are using it. There's already vista only games announced.
I try to give ACs the benefit of the doubt, and the first reply was just barely sane enough to get me to bite, well done. But you can't just go jumping way overboard like that, its WAY too obvious you are trolling now. Try to stay subtle, or at least turn up the crazy a little more gradually.
Your post is complete and utter nonsense. Did you even bother to read my post? Yes, I do know ocaml. No, you cannot use a C style syntax for function calls (unless you work some camlp4 magic). Passing a single argument that happens to be a tuple is not the same as passing 3 args. You even pointed out how dumb your response is in your response! If you define all your functions to take tuples, currying is gone.
I don't want to pass my functions tuples, I want to pass it the seperate args. I just wish ocaml used a readable syntax, like I said. Trying to use C style function call syntax in ocaml gives you ENTIRELY different behaviour, and its not in any way the equivilent of calling the function with seperate args. My complaint is that the syntax for calling functions:
func arg arg arg
is much less readable than the tried and true C style:
func(arg, arg, arg)
Wishing the syntax was nicer is not the same as not knowing the language, next time try using your brain before you use your keyboard. How can you write a reply that actually points out how stupid the reply you're writing is, and yet still click the submit button anyways?
I'm using pike right now. I actually started writing a web framework for pike. If you don't mind having to write statically typed code, but getting run time type errors anyways, then pike is a good choice. If you need strong typing though, then keep looking. Ocaml is nice if you can tolerate its syntax, but I personally find:
function arg1 arg2 arg3;
to be a terrible mistake, as
function(arg1, arg2, arg3);
is much clearer.