6 ms·
Tenacious C: Cool C IDE
- mx12 16y agoJust from the screenshots it looks like it might be a good tool for teaching students learning about pointers.
- stcredzero 16y agoThis is probably one of the best things that's happened for programming education in years! (In addition to a lot of other uses.)
- mitjak 16y agoIndeed. Its UI is almost exactly what my professor drew out on the blackboard during the pointers introduction. Still took a while to sink in though.
- Groxx 16y agoI've been waiting for something to implement at least something DDD has done for years... and less fugly is nice. Any idea how it handles circular references? http://www.gnu.org/software/ddd/all.png http://www.gnu.org/software/ddd/all.png
- Maakuth 16y agoWhoah, how have I missed ddd completely! I'll definitely give it a try soon. Anyway, I don't know any details about Tenacious C, they are just launching in December.
- xtacy 16y agoWhat would be interesting is if someone made a web-based GUI wrapper around such apps. I am sure it would be possible, considering that curses-based wrappers have been around: http://zemljanka.sourceforge.net/cursed/ http://zemljanka.sourceforge.net/cursed/.
- anonymous236 16y agoAnd put it in the Cloud of course. That would totally rock, ninja-style. ;)
- stcredzero 16y agoThere's a commercial extension of Seaside, where they've put all of the Smalltalk development tools and made AJAX webapps out of them. Basically, you can set things up then do everything through the browser. (Webvelocity)
- ramchip 16y ago> a web-based GUI wrapper ...why would you want to do that for a C debugger?
- xtacy 16y agoIt's just that you write it once and it can run anywhere without "installing" many dependencies other than a browser. No fugly GUIs, no inconsistencies, etc. By web-based I didn't mean it to be on the Internet.
- silentbicycle 16y agoSo basically, "web-based" is the new portable GUI library.
- 16y ago
- groaner 16y agoNow I know what Walter Bright should have named his software development toolchain...
- deleted 16y ago[deleted]
- SkyMarshal 16y agoGood top post on the blog page, made me lol: 'I like C, but I have to admit that, sometimes, “The Old Man of Programming” can be a bit of a killjoy. This is one of the most exciting eras in computer history, but lately, C’s acting like he doesn’t even want to have a good time. While the cool kids like Ruby and Haskell are living it up, C’s over in the corner obsessing over bits and bytes and memory alignment and pointers and the stack and machine architecture and unreachable allocations and multiple indirections…and it’s…kind of a buzzkill. You want to tell him, “Dude! Lighten up! This is supposed to be fun!” But of course C can’t relax. He’s holding the entire computing universe on his shoulders, after all. It’s not turtles all the way down — it’s turtles all the way down, __then C__. Not a lot of room for fun underneath that, is there? Is there? Well. Here’s the secret: C does let loose sometimes. And after being bottled up for so long, when the release finally does come, it’s pretty much an F5 of crazy.'
- philbo 16y agoThe blog post is excellent. It led me to this: http://www.lysator.liu.se/c/duffs-device.html http://www.lysator.liu.se/c/duffs-device.html I've programmed in C a fair amount, but I am incapable of understanding the construct contained therein. Specifically, the interaction of the switch and the loop and all those fall-through cases. I would absolutely love it if some C-guru hn-er could describe it in layman's terms?
- Sindisil 16y agoIt's really less complex than it appears, especially once you grok that switch/case is just a computed goto; cases are just labels. So, the idea behind Duff's Device is just to unroll a loop, dealing in an elegant (some would say abhorrent - they're wrong) way with the "leftover" portion. So, the canonical Duff's is copying shorts, with the copy loop unrolled to eight copy statements inside the loop. If you want to copy, say 47 shorts, the loop would need to iterate five times, and there would be seven shorts left to copy. Duff's uses the switch to jump into the middle of the loop just far enough to copy those seven leftover shorts (47 % 8 = 7). The do-while then proceeds to run through the five full iterations. Modern compilers will do that for you now, though there are still applications for similar code. Hope that helps.
- bsk 16y agoIs this a port of http://en.wikipedia.org/wiki/Tenacious_D http://en.wikipedia.org/wiki/Tenacious_D ? ;-)
- ecounysis 16y agoyes
- rogerclark 16y agoWhat a joke. Things like this – and the rhetoric on his site – make systems programming look like more of a dark art than it actually is. If you're a programmer, should know how your computer works; if pointers are too "hard" for you, you're in the wrong business. You're settling for mediocrity and belittling your own intelligence by assuming you're not capable of tackling this stuff the same way everyone else has.
- angrycoder 16y agoI dunno, I have a lot respect for people who take difficult concepts and try to make them easier to grasp. Teachers are more valuable than belittlers. "This isn't hard" is not a lesson plan or a path to enlightenment.
- rogerclark 16y agoI also have a lot of respect for people who are willing to teach. But I don't respect teachers that speak of these concepts like they're magic that no mere mortal can understand. This is stuff that everyone can know -- and should know -- and needs to be treated like learning arithmetic, not tensor calculus.
- noarchy 16y agoHow many programmers today do not know what what a pointer is, or even if they do, how to use/understand them? I'm sure the number is growing, considering the prevalence of languages where pointers aren't even a consideration. Now if you don't like the features of this IDE, that's fair. You're free to stick to whatever you're currently using. Given that Tenacious C will be a paid app when it is done, I doubt I'll really be interested, given what I can use for free that gets the job done more than adequately.
- philbo 16y agoGah, I can't remember the details now, but I'm sure one of the interviewees in Coders At Work talks about this point. Something about how the notion of pointers/references is fundamentally wrong because it doesn't reflect our understanding of objects in RL. I realise I'm being tangential now, but thought I'd mention it anyway.
- dinkumthinkum 16y agoNeat, but I question the Windows only choice here. A lot of C programmers are developing on a *nix platform. But I see this as being more useful for students learning C and memory management. It's a neat project and might recommend it to students but I'll stick to vim, myself.
- TimMontague 16y agoThey seem to be targeting the embedded market, which is mostly Windows based.
- sliverstorm 16y agoOf course, if you learned assembly first instead of Java or somesuch, pointers make 100% intuitive sense, and if you didn't grok them completely you wouldn't have been able to write your first program.