New to the Forums--and with a few questions

Whatever is on your mind, whether Lisp related or not.
Post Reply
anonymous-hypocrite
Posts: 1
Joined: Mon Jun 25, 2012 4:57 pm

New to the Forums--and with a few questions

Post by anonymous-hypocrite » Mon Jun 25, 2012 5:53 pm

Hello there! I'm not exactly sure what kind of community I'm joining here, but I figure that it's a good idea to join a forum to ask questions while I'm following Practical Common Lisp.

Now, a little about me. Well, to start off, I'm American, I love emacs, linux, and programming but I'm not in agreement with the ideology of the Free Software Foundation. I'm entering college in August as a computer science major and so far I have made my way through an introductory java book and the first few chapters of Practical Common Lisp. I enjoy windsurfing, reading, programming, and running.

I have a few questions about the world of programming in industry, and where lisp plays a major role. While my college does offer a course in artificial intelligence in which LISP plays a major role, the basic flavor of my BS seems to be some java, mixed in with a little bit of C# with python sprinkled on top. There is one C++ and assembly course in the required curriculum but the emphasis seems to be--with good reason--on the languages that are the most popular in industry right now.


The one issue I have with java and C# is that as I grow more accustomed to the keybindings of emacs, I find that the point and click interfaces of ides like eclipse and Netbeans are unbearable. I do enjoy using OSX but I can not bring myself to use windows.

Here are my questions:

1)How much flexibility will I have in industry and in college to use the tools that I am most comfortable with? Can I use a POSIX compliant operating system, make, bash shells, ant, and emacs to do the bulk of my coding, or will I be forced to use ides on a daily basis?

2) Is lisp really used by major software vendors like IBM, google, etc.? Will familiarity with lisp make me more attractive on a resume?

3) Would Common lisp be a good language to code an advanced game in? Are there any implementations or libraries that provide solid opengl support?

4) I do not fully understand code refractory or object inspection, but are they possible in a POSIX compliant operating system, or in emacs?

5) Are there any competitions or other activities for lisp that I could take part in to hone my skill and establish myself in the lisp community?


Thanks for taking the time to read my post in advance. Any responses to any one of or any combination of questions are highly appreciated :).

Happy hacking!

nuntius
Posts: 538
Joined: Sat Aug 09, 2008 10:44 am
Location: Newton, MA

Re: New to the Forums--and with a few questions

Post by nuntius » Sun Jul 01, 2012 8:55 pm

#1 depends on the company. A MS house will probably require IDEs. A unix shop will want you using command line. Some places have a mix of both.

#2 -- Lisp is not a major language today. There are a number of places employing lisp programmers (I'm aware of two or three with openings in Boston right now), but the "big" shops use the "big" languages because there are more programmers -- C/C++/Java/Python.

#3 Yes and no. CL is a good language. There are a few OpenGL bindings to choose from http://www.cliki.net/OpenGL If you like a game written in another language, it may be easier to modify it than to start from scratch. ECL allows you to nest CL in a C/C++ app.

#4 Yes.

#5 Currently no. Find a CL project that interests you. Start using it and start adding new features. Your status will quickly rise if other people start using your stuff.

acmeclaus
Posts: 1
Joined: Mon Jul 02, 2012 7:00 am

Re: New to the Forums--and with a few questions

Post by acmeclaus » Mon Jul 02, 2012 7:23 am

Some general advice:

The computer industry has its reasons for the technologies it picks. The reasons are often isomorphic to your development as a problem solver. So try not to get too sucked up in what the industry thinks is the best way to do something. I'm not saying they're idiots, just they have different priorities to the typical student. Always question results and critically examine decisions.

When you're considering learning something new, asking if it would be good on a resume isn't always the best plan. Java/C# etc will make the head-hunters pick up the phone, but as a student you should be exploring the field, expanding your horizons. Try some plain wacky stuff, reflect on what you thought was interesting about them, what you thought didn't work, etc. For programming languages specifically, the common wisdom is to learn languages from at least 3 different paradigms. Read http://norvig.com/21-days.html for on that. The short story is it makes you a better problem solver. Building languages is an excellent way to understand them, and Lisp is particularly well suited to this pursuit.

I second what nuntius said as well as:

#2 Attractiveness is highly subjective. It's more interesting to an employer to know what you've accomplished rather than how you accomplished it. I don't have any data to point at, and I'm not an employer, but if I were, I'd pick someone who had a familiarity with languages from a couple of different paradigms rather than someone who'd only every programmed in Java/C++ with a long list of all the respective tools for those languages.

#3 Games have been written in CL. Most of the ones I've come across are toys rather than something you could buy in the shops, take a look at http://lispgames.org/ for more. I heard Crash Bandicoot included a Lisp interpreter which I believe was used as an internal scripting engine in the game, but having not worked on this product, this is only rumour AFAIK.

Post Reply