Following on from the tutorial in
part 1 of this series, David Chisnall
explores some more-flexible mechanisms for allowing processes to communicate on a POSIX-compliant system.
Revolution is descended in spirit from Hypercard (HC). When Apple's support for HC withered, Scott Raney developed Metacard (MC), a near clone. Metacard was then bought by Revolution (RR), based in Scotland. Metacard was two quite distinct things: an engine, and an IDE. When Metacard was sold, the MC IDE became public domain. It still exists, is volunteer maintained, and it can be used with the latest RR engine. Some on the RR user mailing list prefer the much simpler MC IDE to the RR IDE, at least for initial project development. Other IDEs are possible, and there is a third party (non-free) IDE called Galaxy.
"
D is a systems programming language. Its focus is on combining the power and high performance of C and C++ with the programmer productivity of modern languages like Ruby and Python. Special attention is given to the needs of quality assurance, documentation, management, portability and reliability. D is statically typed, and compiles direct to native code. It's multiparadigm: supporting imperative, object oriented, and template metaprogramming styles. It's a member of the C syntax family, and its look and feel is very close to C++'s. See
this comparison of D with C, C++, C#, and Java."
Examine key parts of the Z shell (zsh) and how to use its features to
ease your UNIX system administration tasks. Z shell is a popular alternative to the original Bourne and Korn shells. It provides an impressive range of additional functionality, including improvements for completing different commands, files, and paths automatically, and for binding keys to functions and operations.
The
Cocotron is an open source project which implements an Objective-C API very similar to that described by Apple Computer's Foundation and AppKit framework documentation.
"The Cocotron Development Tools are a gcc based cross-compiler toolchain which plug into Xcode, once installed they enable Xcode projects written in Objective-C to be compiled for platforms other than Mac OS X, such as Windows, Linux, and Solaris. The CDT is used to compile The Cocotron and non-OS X targets."
Lazy programming is a general concept of delaying the processing of a function or request until the results are needed.
This concept has numerous applications, from the obvious to the obscure. Thinking in terms of lazy programming can help you rid your code of unneeded computation and restructure programs to be more problem-oriented.
JavaScript is often ridiculed as the black sheep of programming languages. Nearly every Web developer has cursed JavaScript at one time or another. Until recently, many developers had all but written off JavaScript as a necessary evil at best or a toy at worst. But
JavaScript is becoming increasingly important. See why it remains the most broadly available scripting language for Web development and a better choice for developing modern applications.
Quickly becoming a de facto standard C++ library, the Boost library includes a powerful graph data structure that's also easy to use. Jeff Cogswell
discusses some interesting theory behind graphs, and explains the Boost library's graph structures.
"
Haskell is a valuable language for a lot of different reasons, but the most important one is that it changes the way that you think about programming. Haskell does things in a very different way from the imperative languages that most of us are familiar with. And it's an extremely well-designed language, so there isn't a ton of crap standing between you and the concepts that you can learn from it."
The C++ standardization committee has set 2009 as the target date for the version of the language standard.
And a lot will change. C++09 will include at least two major core features -- rvalue references and type concepts -- and plenty more relatively minor features.
Dabo 0.7
has been released. If you're not familiar with Dabo, it is a framework for building desktop applications in Python. Obviously, there have been a
bunch of changes and bugfixes.
"
D-Bus 1.0 was officially released last week. Developed by FreeDesktop.org, D-Bus is an open source interprocess communication system created to
promote interoperability between various Linux desktop environments by providing a cohesive common platform for internal system and application messaging. D-Bus, which has been under active development for four years, is already used extensively in the GNOME environment and will eventually replace DCOP in KDE."
This article reviews how to modify an SQL query to group related rows together to provide summary statistics database information and introduces the concept of a view, which can be used to simplify database application development by creating a virtual table that represents the results of an SQL query. Also learn about database indexes, which you can use to locate specific table rows. After you've
mastered these advanced database concepts, you'll be well positioned to begin developing Java database applications with Apache Derby.
XForms is an
ideal open standards technology for collecting and submitting data from a wide variety of Web-capable platforms. Using JavaScript to edit the DOM with XForms allows a single form to accommodate multiple, site-unique submission requirements.
In this article there is an introductionary look into the vDSP and vecLib libraries which are part of the Accelerate framework on Mac OS X. By using properly aligned arrays and manually vectorized code you can increase the performance (5-10 times) of your hot loops by large amounts.
David Chisnall
takes a look behind the scenes at Apple's upcoming revamp of the Objective-C language. As with any new language, some things are good, some are ugly, and some are both.