1,140 karma · joined December 8, 2010
That deleted comment was mine. My intention was to trigger some argumentation, but then @feral wrote something that sounded like he had a much more formed opinion that I did, so my comment felt unneeded. anyway, deleting it was such a bad call, sorry about that. lesson learned.
anyway, for the record and the curious, here it is (snatched it back from my cache):
--
But to imagine that that self-aware technology will be anything but symbiotic with us is truly crazy.
Why is it absurd? I'm not arguing one way or the other, I'm just interested. I know very little about Ray Kurzweil's singularity theory (or AI research for that matter), the little I know doesn't sound that implausible. But it does sound quite dark, so if there's a reason why it's truly crazy then I would joyously hear it.
Edit: to be clear here, crazy or not crazy, I do not endorse violence.
--
Indeed. But it's also quite harder than those to develop in.
I hate to keep on button-mashing, but it would be a big win to have a PlusPlusScript language - as in same philosophy and approach as CoffeeScript, but targeting C++ [1].
Why?
Once again: this approach means zero dependencies. And in a way, you answered it yourself:
Might not be fine for real time systems or games
And there are more examples where it might not be fine, here's a major one: building a C++ library. It's true, this article is not about real time systems (I do apologize for diverging...), but this language could be one solution to problems approached in this article (it would replace the C++ example).
I am interested in projects like shedskin or pypy, but they have dependencies. The bottom line to me is: a higher level language that compiles to C++ code with zero dependencies. Think about it: this language could be used for any application, deployed in virtually any codebase and any system.
Why not? it might harder to implement than coffeescript, but ooc is proof that it's possible. Remove GC and dependent libs, and you still have a substancially higher level language than C (or C++).
As for ooc and garbage collection: How would you write a compiler for a high level garbage collected language without including a garbage collector?
I didn't say it should be garbage collected: Obviously it would have to come with some lower level semantics, like memory management. The coffeescript approach is it shouldn't have dependencies. By high level, I meant higher level than c++. it will always be lower level than a language like python, without dependencies we can't escape all the semantics underlying in the target language. That said like I mentioned before, memory management could possibly be handled by something similar to Apple's ARC (and to answer your last question, I don't think it's that black and white, look at how Apple is investing on ARC instead of GC; also GC's unpredictability make it a no-go for low level routines in videogames).
So why not make a language that is high level, but compiles to pure, cross platform, C++? Think of the productivity win: a higher level language that rarely needs optimizations. Obviously it would have to come with some lower level semantics, like memory management (although it could maybe be solved somehow like Apple did with Automatic Reference Counting, which is basically a preprocessor) or static typing (although the compiler can sometimes be instructed to guess the type, see the := operator in ooc [1]), but even if some lower level semantics are unavoidable, it still seems like a huge win. Yet every time I saw the idea mentioned online it's been either mostly ignored or treated as stupid idea, and the very few projects that attempted to go in that direction never took off. Maybe I'm missing something? If so I'd love to know what it is.
No matter how fancy and awesome higher level languages are, we keep going back to C++ for performance, and that's probably never going to change (at least until processors are stupidly fast). So why not make it easier? The CoffeeScript approach has largely been proven to work.
[1] http://docs.ooc-lang.org/language/syntax.html#declarations (note that ooc is a good step in this direction, it compiles to C99, but then takes step back: it depends on a garbage collector)
I'm not sure what your definition of success is (so Minecraft is not good enough for you?) but I know many - just look around - indie developers that are making a good living and growing their business out of selling good games and being reasonably clever about business, they're nothing like a burning sheet of paper. They may not all have made 3 million bucks - a handful obviously have and that's great -, but they're able to live doing what they love. I'm not saying it's easy, it takes a lot of talent, passion and endurance.
And I don't think you should try to beat EA at their own game. You should be playing a different game. The simple fact that you're not EA could be one of your best cards.
http://www.joystiq.com/2011/09/09/teagueduino-used-to-create...
And its source code:
That said, I feel like John Gruber used to be more of a curator that showed cool projects and things, and less of a market share analyst. I kinda miss that.
Anyway, you can't just replace John Gruber. As a writer, he's kind of one of a kind.
If this fails for you, then it could be a multitude of reasons, and you should consider some of the options recommended here (maybe change your job?).
John Carmack took a few months break from Rage development to work on these (at least on Wolfenstein, not sure about Doom) [1], so there will definitely be substantial differences to adapt to iOS, like - I'm guessing - OpenGL-ES code and touch controls.
here's a write-up from Carmack about his Wolfenstein iPhone development adventures: http://www.idsoftware.com/wolfenstein3dclassic/wolfdevelopme...
My point/question was: it doesn't add a runtime or new libraries/routines, you can read the generated code if something goes wrong, so why wouldn't it be ok to use in production?
There's a space for innovation there. ooc [2] has been a step in that direction, although its usage of garbage collection makes it much less flexible than CoffeeScript or MoonScript. I don't think developers need to be abstracted from memory management at low level. What they could use is getting rid of a lot of cruft, to be able to write/read/think more quickly.
[1] http://attractivechaos.github.com/plb [2] http://ooc-lang.org/
I am enjoying this wave of new programming languages that compile down to existing ones in a human readable way. They are pleasant to write and read and yet performant and don't require a special runtime, making them easy to integrate anywhere in their parent language.
I hope someone talented will build one of these for C/C++. Mobile an game developers could use it.
Quote: Moral of the story: If you want to support creative, independent developers, avoid "Ninja Fishing" and wait for "Ridiculous Fishing." The only way to discourage this sort of action is to hurt copycats in the wallet, so make your voice heard.
I think he's overestimating how much people in general care about clones. Sure, in indie game developer circles, their reputation is stained. But most people are not aware, and even if they are, most don't give a shit. Ninja Fishing is now the top #13 paid app on the App Store.
That said, maybe with this backlash the press and distribution channels will start giving a fuck.