|
From: The U. H. <er...@ba...> - 2001-08-01 04:02:26
|
Still plugging away on the network transport. At the moment I'm plugging away at the client side of the certificate/session key service. An issue of sorts has come up. The server side of the certificate chat really doesn't want to be C++. C++ is just too %!@@## verbose -- e.g. the read-a-block-from-network routine that would take 15 lines of Python is around 90 lines of code. I still agree with the choice of using C++ -- e.g., if I did not have C++ strings, I'd need to write a block "class" to handle chunks of data that are being encrypted/decrypted, whereas with C++ strings I can "just do it" without worrying about NUL characters in my strings -- but I have no intention of writing huge amounts of code in C++ if it's avoidable. I'd like to make the server side be in a high level language (which C++ isn't). Java is a possibility -- but it takes forever and a half to start up a Java program. That's what happens from carrying around 40mb of bloated runtime environment. I looked at Perl. Ick. I looked at Perl again, it's just so darned useful, but ick. Python, I can't use, we know why. I looked at Ruby. There's a new book out. The book is available online. Interesting. I'm going to look at this closer. Ruby isn't "popular", but if the choices are Perl or Java, it may be worthwhile. I like Java, I've been doing a lot of programming in the language over the past two months, but the size, the platform limits (it's really only supported on Linux, Windows, and Solaris), and the sheer *size* of the JRE is terrible. 40 megabytes of bloated runtime environment? Hell, the whole of BRU-Pro was less than that! I looked at GUI toolkits also, for those of us afflicted with Windows. WxWindows appears to be a rather bloated toolkit but does work both on Windows and Unix with reasonable look and feel. FOX (http://www.cfdrc.com/FOX/fox.html) looks interesting -- it appears to be somewhat similar to QT in its functionality and basic philosophy, but without the licensing difficulties. It appears to have the widgets we'd need, but somebody should probably take a look at it. Maybe someone doing Windows programming who wants to use something that has a real layout manager :-). I'm not saying that we should dump Java (though this is the time if we are going to do so), just that Java is turning out to have some real downsides, such as forcing more code into C++ due to the enormous amount of time it takes for the Java runtime environment to start up. There's a reason why virtually all Java programs are multi-threaded rather than multi-process. Unfortunately, our componetized dataflow architecture isn't well suited for multi-threading. This may be the right time to investigate alternatives. -- Eric Lee Green GnuPG public key at http://badtux.org/eric/eric.gpg mailto:er...@ba... Web: http://www.badtux.org "Emacs is a nice OS, but a weird editor." -- M.J. Blom |