I've been programming Perl for going on ten years, I know a bit of Java as well, and have spent the last 4 or 5 years learning a lot about web development. I even recently learned nodejs and coffeescript to a pretty decent level and released https://emailprivacytester.com/ using it.
I just started to learn C and C++ about a week ago. I did a module of it at University many years ago, but I never kept it up afterwards and forgot nearly all of it. Anyway, I am completely loving learning it at the moment. It just feels like I have so much more control of what I'm doing, and I can't wait to build and release my first non-trivial application using it.
I want to know C well. Mostly, I just want to be able to confidently hack on the massive amount of software that has been written in C over the years.
[edit] I've always had this feeling in the back of my mind, that no matter how good I am at Perl or JavaScript or HTML or Java, I will never feel like an "expert" until I am good at C.
Coming from a web development and Python background, and starting to really learn C about a year ago, I know the exact feeling you're talking about. As many cool Python programs I had written, I just didn't feel like it was a "real" program until I programmed and compiled an application in C. And I love how C has made my Python so much more powerful, both through ctypes and Cython. Finally, C was the gateway to Lua, which I'm now enthralled with: a tiny, extraordinarily fast and flexible scripting language that is easily compiled into a C program, thus giving me that single-file binary executable I cherish so much. I know I could do the same with Python, but LuaJIT is just so easy to embed, and yet so incredibly fast. Learning C has opened a lot of doors.
I first dipped my toe into C waters at 12 (years old) and very soon felt out of my depth enough to leave it alone. Cut to much later and I think I'm ready to try again.
I've no project in mind yet, but, Eric, your libtm plan caught my eye a few months back and if you've anything on github I'd be interested to follow along. I'm a translator myself and often find myself optimising how MemoQ could be matching segments.
Hey, I just e-mailed you. I've ended up starting to prototype libtm in Python -- getting started in C just wasn't working. I still "think" in Python. Python works out well because all the libraries I'm using (leveldb and ICU, mainly) also have very nice Python bindings. Once I've got the prototype in Python, I'll port it to C.
I'll see if I can put what I've got in Python up on github after I finish this big project at work this week and next. I'd be really interested in your input. Did you read the Tim Baldwin presentation on translation retrieval I referenced in my post on libtm? He's done some really cool research that has had a real impact on the way I keep my TMs (e.g., trying not to go over 20,000 segments).
I just want to check in with you: I too am in the midst of a total love affair with Lua/LuaJIT. That one little VM has really turned into something amazing. And now, the ways it is used!!! Phenomenal.
I'm astounded with LuaJIT. Have you read some on Mike Pall's posts about the inner workings of LuaJIT on the Lua mailing list? I can't follow everything, but what I do follow just blows me away.
I just started to learn C and C++ about a week ago. I did a module of it at University many years ago, but I never kept it up afterwards and forgot nearly all of it. Anyway, I am completely loving learning it at the moment. It just feels like I have so much more control of what I'm doing, and I can't wait to build and release my first non-trivial application using it.
I want to know C well. Mostly, I just want to be able to confidently hack on the massive amount of software that has been written in C over the years.
[edit] I've always had this feeling in the back of my mind, that no matter how good I am at Perl or JavaScript or HTML or Java, I will never feel like an "expert" until I am good at C.