Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Question for all you computer experts

Featured Replies

> Unfortunately the MS certifications are available to anyone who wants to memorize a few brain dumps.This is exactly what I don't like about the whole certification frenzy. People are getting certified for about everything these days. I'd rather look at what a person is interested in and what kind of hobby stuff he has done in the past. Trying things for yourself is how you learn things. Personally, I'd like to keep my CV certification free and full of successful hobby projects.>As for the Lisp question- I've never used Lisp. The "oldest" language I used was SAS. I thought Lisp was basically a parsing language?> Parses are highly recursive, so maybe that'a limitation in Lisp- I don't know.Lisp is everything! It's more or less data and code melted into each other. While learning lisp, you'll learn a lot of different ways to look at data.

That's what I understand. I'm way too busy with VS.NET to learn anything new right now, but I'd like to play around with it. Data structures are complex- I'd love to learn more. Is it true with lisp that you can actually use the source as data? That's just downright tricky sounding. Somewhere I read that the first LISP compiler was written in LISP- What in the name of Sam Hill does that mean? Which came first, the chicken or the egg?

In Lisp, data and code are the same. The code is always a tree structure. Most of the lisp functions are written in lisp. You have what they call macro's. A macro is a function that returns a piece of code, which is then run. The macro builds the code on the fly by looking at the parameters passed to it. Programming in lisp means building up the environment towards your problem, instead using common functions to describe your problem.The beauty of Lisp languages is the way they treat data and code, they are basically the same. They are all lists (arrays) that may contain values, symbols and other lists. When Lisp executes a list, it looks at the first symbol in the list. The first symbol is the name of the function, the rest of the list are arguments. That's all. You could run html code in lisp by defining "table" as a function to render a table.There's much more to the beauty of these languages, but it gets very theoretical. It involves programming without side effects (code that changes the environment, like variable declarations). If you need a variable, then in lisp you'll wrap the code that needs the variable into a new list that creates a new environment to execute the code in, with the addition of the variables you need.Now comes the nice part. Look at XML and HTML. They operate in the same way. If you need something with a border, you wrap it into a new element called

which temporarily changes the environment that its contained children are executed in. This is also programming without side effects. These day's we see all kinds of IT folks jumping from one idea to the other, inventing Object Oriented programming and XML. The benefit is to keep the runtime environment clean, to be able to predict what happens when you change an object in the system. They're all trying to invent the same: programming without side effects.Lisp has had it for decades. We now see the uprise of java and .net, with their own runtime environment. Lisp runs on all modern computer systems, without the need for recompilation. Now that's why I believe it's important to know about this family of languages.

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.