elehack.net

Posts tagged "programming"

DVCS selection woes

I’ve been a convert to distributed version control, and in particular a user of Mercurial, for a few years now. I love Mercurial — its user interface is simple, the core concepts make sense, and it generally does an intelligent job of managing my programs (or config files, or homework assignments, or whatever).

I’ve tried to learn Git a few times, and even started converting to it some time last year, but go back to Mercurial for its user-facing simplicity. Internally, Git is simpler, but mapping use cases on to that simplicity is entirely exposed to the user. Mercurial’s UI is much more task-driven, such that there’s really one obvious way to do most useful things. I usually am able to keep my Mercurial repositories in somewhat sane states; Git’s failure mode seems to be leaving your branch refs in an incomprehensible state.

Read more...

Perl 6 operator table

This is kinda cool and kinda scary. Why do we want Perl 6, again?

Insight into the Java design process

Found this today while reading FreeBSD Planet. While I actually find Java’s enums somewhat useful, I do agree that they are a bit wonky...

Solution on simple world post

Some weeks ago, I wrote an article on my dilemma trying to determine which language to use for a calendar system. I just thought I’d make a public update to not leave it hanging.

The solution is Emacs. I’m now using org-mode, combined with diary. I’m working on some Perl and elisp hacking (so far just the Perl) to create a calendar system that synchronizes with my Clie (using PilotManager, since it already has a conduit for BBDB). This, combined with Gnus for reading my e-mail, is working rather well, and using remember.el I can easily convert an e-mail into a task. I even switched from IMAP (nnimap backend) to the nnml backend and that seems pretty nifty (so far).

Read more...

Why can't the world be simple?

I’m presently facing a programming task to work on, and am thinking through which language to work on it in. It’s a simple calendar & address book app, so it needs to work with vCard/iCalendar and network/VFS type things (at least HTTP). It also needs a GUI; preferably GTK+.

Contenders:

Read more...

OO: the new spaghetti code?

Many moons ago, Simula was created. From it came Smalltalk, and C++, followed by Java and a host of other languages sporting this new programming paradigm: object-oriented programming. Objects are everywhere — most new/modern languages, at least in the mainstream, are based on them — and are used for everything. In Java, all the core data structures are implemented in an object-oriented fashion.

I’m not convinced that all this is a good thing. In fact, I submit that excessive use of object-oriented principles leads to a new kind of spaghetti code, rendering programs perhaps as unreadable as when implemented with unscrupulous GOTOs. OK, maybe not quite, but it can still be pretty bad.

Read more...

Eureka! A reversible debugger!

I blogged a while ago about finding OCaml, and really liking it. Well, that like has now been intensely increased.

For some time now, I have wanted a debugger that can go backwards. A company called Undo Software has one, UndoDB, that works with GDB. But they charge a decent fee for their product.

Read more...

OCaml for teaching?

I’ve been thinking lately: What would happen if we used OCaml as a language for introductory programming at the collegiate level?

To be sure, it would need some improvement to be suitable for this. For starters, a compiler with more useful error messages (although I have heard that using camlp4 improves error message quality). Also, some good interactive environment, possibly fusing the capabilities of DrScheme and Eclipse, would be most beneficial (I have heard of the existence of a project called DrOcaml; perhaps it has some merit).

Read more...

Java stinks. Really.

I’ve never been a fan of those "Why XYZ is better than ABC language" posts that crop up all over the Internet. Usually, as soon as one is posted, someone else comes along and says that the first poster doesn’t have a clue, and frequently they’re right.

Also, I’ve been apprehensive of peoples’ attempts to compare Java and C++. I’ve said for some time that anyone who says that Java is just like C++ doesn’t know C++ and probably doesn’t know Java, and I’m still sticking by that. They’ve got syntactic similarity (a lot, in fact), but their semantic similarity (which is what I believe is actually relevant in language comparison) is slim. Java is much better compared for similarities with Python or Objective-C, although it is stricter than either of those languages (take my Objective-C statements with a grain of salt; I’ve only dabbled in and read about the language without actually using it for anything).

Read more...

Parsing...

I’ve been working lately on a parser for Markdown to let me do some more manipulations of web content in our blog generation. It’s not going overly well. I went the other day to the Markdown source code to see how they parse, and much to my chagrin, they don’t. The canonical Markdown parser is implemented using a sequence of regular expression substitutions and hashing to protect things from subsequent substitutions.

This is not helpful. Not helpful at all. And it’s proving somewhat difficult to write a parser (granted, my brain hasn’t been working on it as hard as it could).

Read more...

Page 1 of 2 | Next >>>