Some tips and comparisons between Objective-C and Java. Also includes some features of the Objective-C language.
There are many uses for pseudo-random numbers in software, including generating temporary passwords for web sites or networked software or positioning enemies in a game. The .NET framework permits the creation of random numbers using the Random class.
In a software-centric world where we already have many, many languages to program in, from scripting to bytecode compiled languages, to frameworks on top of languages and embedded languages, now Redmond wants to bring ANOTHER language to the table, titled āMā (for Microsoft?).
JAOO 2008 coverage continues with a discussion covering domain specific languages with the great Martin Fowler, Chief Scientist at ThoughtWorks, Neil Ford, Architect and Meme Wrangler at ThoughWorks and PowerShell creator Jeffery Snover, Partner Architect at Microsoft. Martin is a world leader in the design and implementation of DSLs, which are highly specilaized languages aimed at solving particular sets of problems (unlike general purpose programming languages which are, well, general purpose in nature). PowerShell is a DSL. Or is it? Tune in.
Learning Haskell is not easy. Besides the syntax, concepts, and advanced types, there is a real lack of succinct, accessible references. As I learned Haskell I frequently wanted a quick reference for syntax, keywords and other language elements. For that reason Iāve created this cheatsheet. Itās intended for beginning to intermediate Haskell programmers to use as a quick-reference guide for syntax, keywords or other language issues.
When teaching Objective-C, Iām finding that some have trouble reading method signatures. Reading Objective-C methods can be made easier if proper spacing and indenting is used.
Clojure is a Lisp on the JVM. The J in JVM is the least interesting part of the JVM (in fact, it would probably be a good idea to rename it completely) but the JVM technology itself is amazing. You can read up about it here or here. Targeting the JVM as a platform means getting garbage collection and the other JVM performance optimizations for free. After reading about the technology, it seems silly to waste time reinventing the wheel and creating your own virtual machine / environment for your new language.
Erlang virtual machine ā BEAM ā hosts an increasing number of languages. Reia, a Python/Ruby like scripting language and Lisp Flavoured Erlang have recently been released. Debasish Ghosh reflects on this trend while other authors try to outline other possible language variants inspired by Ruby or Haskell.
We are using Erlang to do some serious things, one of them is indeed part of a banking system. Erlang is a perfect language in concurrent and syntax (yes, I like its syntax), but lacks static typing (I hope new added -spec and -type attributes may be a bit helping), and, is not suitable for processing massive data (performance, memory etc). I tried parsing a 10M size XML file with xmerl, the lib for XML in OTP/Erlang, which causes terrible memory disk-swap and I can never get the parsed tree out.
I've said a lot of times that I don't like scripting languages, and in fact all of my work is currently done in Java. I see it as perfectly fitting my needs, from JME to JEE, through the Desktop. But I believe in Domain Specific Languages, and I could be near to use one.
Iāve often referred to Smalltalk as the āLatinā of modern OO languages. Most owe a tremendous debt to Smalltalk but the language itself has been relegated to a small niche of technology elites for several years now.
Higher order functions might be a big āAhā moment in FP, but the concept is really very simple and basic in OO.
In this InfoQ interview filmed at RubyFringe 2008, Tom Preston-Werner talks about how both Powerset and GitHub use Ruby and Erlang, as well as tools like Fuzed, god, and more.