|
Programming Languages
Ruby Ruby is a great and pure object oriented programming language. It is a near perfect blend of being easy to use, fun to program in, well suited to large and complex systems, and powerful enough to do most anything easily and quickly (it's backed by the full power and flexibly of C). The more I use Ruby the more I love it. It makes creating software easier, more fun, and more interesting. My favorite Ruby book is called Programming Ruby, The Pragmatic Programmer's Guide by David Thomas and Andrew Hunt. It does a great job explaining how to use Ruby. The book is also available on line at http://www.rubycentral.com/book/. There are many applets written using Ruby and list grows every day. The Ruby application archive can be viewed at http://www.ruby-lang.org/en/raa.html. Another great source for Ruby information can be found at the Ruby Garden. I have been actively writing Ruby programs since 2000 when I first discovered the language. Since then I have created and written several projects in Ruby including Locana and ArunaDB.
Java Java is Sun's brain child. It's claim to fame is that is it one of the more successful attempts to write code once and have it run everywhere. It is a very popular language and when Sun offered the Java language as a free language it's popularity grew. There is a lot of code written and Java including a lot of libraries making it easy to create multi-platform applications quickly and easily. However, Microsoft entered the Java market and swayed from Sun's objectives. I feel the ensuing war that took place between Sun and Microsoft over who was going to control the direction of Java really hurt the language. I have not been happy with anything Microsoft has done since they did this to Sun.
C# C# or C Sharp was created when the government required Microsoft to conform to Sun's Java standard or discontinue it Java products. Microsoft's response was to rename it Java product to C#. C# is a popular language when writing software for Windows, and, of course, it only runs on Windows.
Perl Perl is great scripting language. It's great for writing small scripts to help with the daily tasked faced by many system administrators and web site maintainers. There are a lot Perl libraries making it easy to do a lot with very little effort. Perl is also free. Perl would not be a good choice for larger software projects because the code is hard to manage and can be very difficult to read. In other words, large projects are difficult to maintain in Perl. A lot of web development is done using Perl.
Tk Tk is primarily a GUI toolkit. It is typically bundled with TCL or Perl. You can call Tk functions when writing TCL or Perl code. Tk allows you create windows, buttons, listboxes, scroll bars etc. It allows you add a graphical user interface to your programs. The good thing about Tk is that it runs on most operating systems. More than most other GUI tool kits. Many people dislike Tk because it is slow in many situations, it can be buggy, and it's not a very pleasant language to write code in. Tk has been added to Ruby and I choose to write a GUI binding for Locana in Tk. Basically, Locana opens an interpreter to Tk/TCL and send Tk/TCL commands to the interpreter to get windows, buttons, etc. The code to make Locana work with Tk was easy to write and it works well. I choose Tk for Locana because it allows Locana to run on most unix based computers.
SQL SQL is short for Structured Query Language. SQL is the most widely used language for accessing data stored in a database. It is supported by many database servers and allows you create and maintain tables as well as selecting, updating and deleting data in tables. I have written SQL for Oracle, SQL Server, PostgreSQL, and Access97.
PL/SQL PL/SQL is the language Oracle created for triggers and stored procedures in Oracle. It is used in conjunction with Oracle to assist in managing the data stored in an Oracle Database. Most of the SQL syntax is supported by PL/SQL. I have written a lot of PL/SQL triggers and store procedures for Oracle over past few years.
ODBC ODBC was created by Microsoft as universal interface to databases. Many database servers support ODBC and many applications use ODBC for accessing data. Theoretically, and for the most part practically, applications that use ODBC can access data stored in any database supporting ODBC and database servers supporting ODBC can be accessed by any application that uses ODBC. ODBC is similar to Perl's DBI in many ways. Typically, DBI is more popular in the unix world and ODBC is more popular in the Windows world. ODBC (and DBI) is a great way to make data available to many applications and to allow an application access to data in many different databases. I have written several applications that used ODBC to migrate data from one database to another. I have also written and ODBC driver allowing applications to access data from a proprietary data store. For ODBC on unix see this link.
JavaScript JavaScript is used for writing web pages. Many web pages have embedded JavaScript in them. JavaScript allows you enhance any web page by allowing you do more creative things to web pages that would be impossible to do with pure HTML. I created the pop-up menus on this web site using JavaScript. If you would like to see how I created these menus, please visit products.html#WebSite. There are two ways you can use JavaScript in your web pages. The first is to enclose JavaScript inside the I used JavaScript extensively in my Locana project. I wrote a web server in Ruby that runs Ruby applets written using Locana. The web server I wrote sends the GUI commands to open windows, buttons, etc to your web browser using HTML and JavaScript. The result allows you run Ruby applets using Locana in a web browser on a computer that does not have Ruby installed on it. It's really cool. See my Locana project for more information on how this works.
HTML HTML is short for Hyper Text Markup Language. It is the language of the internet. Nearly all web pages are written in HTML. HTML is basically a text file saved to disk with embedded tags. They typically have a .html or .htm extension. When you request a web page via a web browser, much like this web page, the text file with it's embedded tags are sent from a web server to your web browser. Your web browser knows what to do with all that text and embedded tags and you get to see a nice formatted page of information. There are many programs available to make creating web easier so you don't have learn HTML to create a nice web page. Many web pages are enhanced by using CGI, Perl, JavaScript, Java, and Ruby. I wrote this web site using HTML. I used JavaScript for the cool pop-up menus and to easily add a consistent menu to all of my web pages. It was easy and fun. The content, on the other hand, was no easy. I also used HTML extensively in my Locana project. I wrote a web server in Ruby that runs Ruby applets written using Locana. The web server I wrote sends the GUI commands to open windows, buttons, etc to your web browser using HTML and JavaScript. The result allows you run Ruby applets using Locana in a web browser on a computer that does not have Ruby installed on it. It's really cool. See my Locana project for more information on how this works.
CGI Like HTML, and JavaScript, CGI is another language devoted to creating web pages and web sites. There are two parts to creating web sites, client side and server side. The client side is run inside a web browser like Internet Explorer and Netscape. It usually involves writing HTML and JavaScript that is processed by the browsers. CGI is used on the server side for collecting data on forms that you used to fill out information on web page. When a web page is asking you to fill out some information, the web server has sent a web page with HTML and/or JavaScript to your web browser and the browser allows you to enter some data in the web page. When you submit the data (usually by clicking on a submit button), a CGI script running on the web server takes over and grabs the data sent to the web server by the bower and does something useful with the data collected from the web page. It's real cool.
C++ C++ is basically C extended with many object oriented concepts. Most C++ compilers will compile and run straight C code. It is a nice upgrade to the C language allowing programmers to take full advantage of the power and libraries of C and to take advantage of the many cool new techniques available to most Object Oriented Programmers(OOP). It suffered a little in that most of the audience of the C++ were C programmers who did not completely give up their hold C habits when picking up or writing C++ code. The result is that many C++ projects are a blend of C and C++ rather than being a pure OOP project using C++. If you are looking for an object oriented language, several of the newer languages such as Ruby, Python, and Java are more object oriented than C++.
C C is a great language. It has been around a long time and a lot of software has been written in C. C was very popular in the 1980's and early 1990's because it was easier than programming in Assembler and almost as fast and efficient as Assembler. Nearly everything under the sun has been written in C. C makes heavy use of pointers. Pointer's added to C's power and flexibility but caused a lot of headaches. One mistake with a pointer and your program would eat memory, cause other programs to abort, and/or cause your program to abort long after the mistake occurred. Bugs relating to pointer errors were usually very easy to fix and very difficult to find. In the late 1990's, C++, C#, Perl, and Java began to replace C as the most popular language. I have written a lot of C code over the years to accomplish many tasks. Lately, I have been enjoying programming with Ruby a whole more fun than programming in C. When writing ArunaDB, a database server written in Ruby, I had to create a new class for Ruby in C to efficiently store data in pages for the nary-tree I wrote in Ruby for ArunaDB. It was easy and fun to create the Ruby class in C and integrate it into Ruby. The new class provided a 100% performance improvement for ArunaDB.
Modula2 I wrote a lot of Modula2 in the late 1980's on a Commodore Amiga computer. It's a great language. It's more structured than C and much more suited to creating large systems than C. It never really caught on here in America. Most programmer felt that Modula2 required too much typing. C is a much more terse language than Modula2 and a lot more libraries existed for C making it more popular choice.
COBOL COBOL was a very popular language in the 1960's and 1970's. Partly because it was one of only a few languages and mostly because it was well suited to easily write programs to meet the functional needs of business. COBOL is easy to write but difficult to get the kind of power and control that existed with C. When you needed a little more power than offered by the COBOL language, you were pretty much out of luck. I worked on, enhanced, wrote, and managed a lot of COBOL code in the 1980's for the US Air Force.
FORTRAN FORTRAN was created by and used by scientists. It is great for solving problems involving any kind of formulas. I write a little FORTRAN in my college days in the early 1980's. It was a powerful language that is difficult to learn. It was not very well suited to helping me the needs to businesses. |