7 ms·
Ooc: new awesome language with site redesign, guide, and screencast
- gdl 16y agoNot to be confused with "Ook!" http://esolangs.org/wiki/Ook http://esolangs.org/wiki/Ook! This is like "Go" / "Go!" all over again, except more people have probably heard of "Ook!".
- mhd 16y agoYou think that people who monkey around with eso-langs are in danger of confusing the two?
- mbreese 16y agoProbably not, since Ook was designed for orangutans. However, those orangutans would probably take offense to describing their work as 'monkey'ing around since avoiding that word is one of the design principles. http://www.dangermouse.net/esoteric/ook.html http://www.dangermouse.net/esoteric/ook.html
- mahmud 16y agoOr Orc, which keeps to hold my fascination since I first discovered it, weeks ago. http://orc.csres.utexas.edu/ http://orc.csres.utexas.edu/ Hopefully I will have more time for it and SR: http://www.cs.arizona.edu/sr/ http://www.cs.arizona.edu/sr/
- pierrefar 16y agoooc is a ... high-level, low-level programming language. Can someone please explain how it can be both?
- nddrylliog 16y agoIt can be very expressive and high-level when you just want to get stuff done - but it also allows you to get down to the bare metal in case you have to/want to. You can turn off the GC, control when and how the memory gets allocated, use pointers to deal with raw memory blocks, easily link with ASM, and the consuming features are easy to avoid - leaving you with a nicer syntax for C. Of course, in the real world you probably want to find a compromise and not go 'full metal'.
- pierrefar 16y agoThanks. Makes sense now.
- albertzeyer 16y agoC++, as an example, can also be both.
- nddrylliog 16y agoI agree that C++ can be very low-level. As far as being high-level.. it's still desperately stuck years in the past, even with all the bloat C++0x (or whatever it's actually called) brings to it =) </troll> (with a hint of truth)
- albertzeyer 16y agoWhy not LLVM? Some language compiling to C99 seems kind of outdated since we have LLVM. (And if C99 is really wanted, LLVM can output that too. Whereby nobody really is keeping that up-to-date because noone really is interested in it.)
- gmaster1440 16y agorock, ooc's compiler, supports compilation with clang ;)
- albertzeyer 16y agoYou mean ooc -> (rock ->) C -> (clang ->) llvm? I mean ooc -> llvm. Not only that it is obviously faster and simpler, it is also better to maintain and better to optimise. And it gives more power and possibilities to the ooc compiler.
- nddrylliog 16y agoYeah, seems obvious right? But having a C backend (independent of LLVM) still has advantages. I will continue to maintain it, even if/when we get an LLVM backend. I only wish llvm-c would suck less, then we'd get proper bindings and be able to write the llvm backend in ooc.
- albertzeyer 16y agoWhy not just write the LLVM backend in C++? The C++ interface is actually pretty clean and really easy/trivial to use.
- nddrylliog 16y agoThen we'd need to access the ooc AST from C++, which is also quite a piece of work. (I mean - it's easy to use ooc code from C in a C-like way, e.g. MyObject_myMethod(arg1, arg2), but in C++ that would be tedious/inacceptable) Besides, what's the point in having a shiny language if we have to use C++ to implement part of its compiler :(
- elbenshira 16y agoI've been following Ooc for a long time, mostly because I liked the syntax. It's a weird blend of C and Ruby. nddrylliog, I think you should make the "jump to" navigation easier to find in the intro guide.
- gmaster1440 16y agoMade it larger on the opening page ;)
- albertzeyer 16y agoThe introduction guide HTML rendering is annoying. It needs at least a width of 1280. I usually keep my browser window width at about 700, sometimes even less.
- MoreMoschops 16y agoI use C++ and Objective-C, sometimes both at once (go go gadget GCC). I've had a look through the OOC website - does OOC offer me anything I don't already have?
- postfuturist 16y agoSexy syntax. C++ and Objective-C both have the superset-of-C ugliness.
- MoreMoschops 16y agoWell I'm sold.
- WarTheatre 16y ago"ooc is a modern, self-hosting, object-oriented, functional, high-level, low-level programming language. It strives to be powerful, modular, extensible, portable, yet simple and fast. ooc translates to C99 via rock, our self-hosting compiler." Is this for real? Because it sounds like someone is overselling their langauge way too much.
- gmaster1440 16y agoyes, very much for real, feel free to talk about it at #ooc-lang
- shasta 16y agoYou forgot "sexy"
- cageface 16y agoI'm in language overload at this point. Much more than another language I'd like to see some creative new architectural approaches to problems that are thorny or tedious to solve right now. I mean, if something as simple as applying MVC principles to web development can create a revolution there have to be a lot of other unplucked ideas out there. Software engineering feels a lot like architecture would if people spent 95% of their time talking about materials.
- nddrylliog 16y agoA good language that is pleasant to write leads to more experimentation with approaches to a problem - which wouldn't get tried out otherwise because it would be too tedious/performance-intensive with other languages/implementations. I have basically built ooc to make programming a lot less annoying for me (and others) to try new things with. The work is really starting to pay off and I thought I'd share it! It's not like anybody forces you to try it ;)
- cageface 16y agoA new language means I have to start from scratch with all the boring crap that you have to write to make a language usable. Database drivers, http libraries, mail tools, command-line parsing utils, xml & json serialization, test tools etc etc. There's nothing more annoying IMO than reinventing all those wheels one more time. I'm willing to play with the new JVM languages because I can get all that stuff for free but the advantages of one more sui generis language are going to have to be HUGE for me to even consider retooling all that junk.
- nddrylliog 16y agoThankfully there's a community (and a bindings generator) for that. Chances are the libs you want to use are already in: http://github.com/search?langOverride=&language=&q=ooc-&repo=&start_value=1&type=Repositories&x=23&y=18 http://github.com/search?langOverride=&language=&q=o... Yes, that's one more advantage of producing C code - integration is seamless. No need to reinvent all the wheels, rewrite what you feel like, re-use the rest.
- technomancy 16y ago> curl: bash -c "`curl -L http://ooc-lang.org/install.sh` http://ooc-lang.org/install.sh` Extra points for this awesome install process. I wish more projects would make a seamless newbie experience higher-priority.
- shasta 16y agoMain reflex: Some useful syntactic advances over Java, but where's the beef? I see generics exist at runtime - what else? Also, is the type system known or believed to be sound? Are there casts?
- gmaster1440 16y agoThere are casts, closures, and more. Feel free to join #ooc-lang on irc.freenode.net to have more informative discussions ;)
- 0bfusct3 16y agoNot to crap on the parade or anything but new languages are a dime a dozen and most all offer the same exact paradigms rehashed over and over and over. What I want is a low level easy to verify OOP/chaining functional concurrent language based on term rewriting. Something needs to be done to allow easier proving of programs with a language that is designed for this. I'm working on one.