Welcome, Guest. Please
Login
Home
Help
Search
Login
FAQ
Radified
Ghost.Classic
Ghost.New
Bootable CD
Blog
Radified Community Forums
›
Rad Community Non-Technical Discussion Boards
›
The Water Cooler
› Programming languages: Scripting/dynamic vs System languages
(Moderators: Rad, Christer, NightOwl, Pleonasm, MrMagoo, El_Pescador)
‹
Previous Topic
|
Next Topic
›
Pages: 1
Programming languages: Scripting/dynamic vs System languages (Read 9380 times)
Rad
Radministrator
Offline
Sufferin' succotash
Posts: 4090
Newport Beach, California
Back to top
Programming languages: Scripting/dynamic vs System languages
May 9
th
, 2009 at 2:56pm
Regarding the topic of programming languages in general, and Scripting/dynamic vs 'System' languages specifically .. I found these pages very enlightening:
http://www.tcl.tk/doc/scripting.html
http://www.tcl.tk/about/compare.html
Big-picture stuff, which I find helpful & illuminating at this point in my study.
I was deleving into a little JavaScript .. and one thing led to another. You know how that goes.
I also stopped by here:
http://en.wikipedia.org/wiki/Processor_register
It's starting to make sense .. slowly.
IP Logged
MrMagoo
Übermensch
Offline
Resident Linux Guru
Posts: 1026
Phoenix, AZ (USA)
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #1 -
May 9
th
, 2009 at 7:06pm
Just glancing over them quickly, I have a few thoughts.
In the first one, I just read the abstract, but I think it really hits on some key points. Scripting languages (or more explicitly, *interpreted* languages) used to be just to glue things together and to prototype things quickly. They were useful for automating backups and sifting though log files, but they were too slow to be used for full applications.
As the article points out, improvements in the language interpreters and increases in hardware potency have made interpreted languages fast enough and powerful enough to be used for serious work. In fact, one of the Internet's fastest growing sites - Twitter - uses the Rails framework, which is written in Ruby.
After glancing through the second article, it is missing some of what I understand the point to be. The difference they should be discussing is between *interpreted* and *compiled* languages. Briefly, the difference is that a compiled language takes source code and compiles it into machine code as soon as the source is finished. When you want to run it, you just execute the machine code. When you execute an interpreted language, you actually execute the interpreter, which reads the source code and translates it into machine instructions at run-time.
The second article seems to be making an arbitrary distinction between scripting languages and 'system' languages. They choose Java as an example of a system language and Ruby as a dynamic language. In the nuts and bolts, however, Java is actually compiled into byte-code and then the byte-code is interpreted by the JVM, which is not very different from how Perl works.
They say that dynamic languages tend to be "higher level," but Java is considered a high level language since it does its own memory management. They mention type-safety as a feature of a 'system language' but Ruby is also type-safe.
So, overall, my take on the second article is that it makes arbitrary distinctions between 'dynamic' and 'system' programing languages.
Going through SCIP, the last few lessons show you how to write an interpreter. They actually write a LISP interpreter in LISP (along with an interesting discussion of the utility of such a circular interpreter.) It allows you to see at a very basic level what the differences are between a compiled and interpreted language, which is really the important distinction. All the other things like "object orientation" or "type-safety" or "high/low level" are just trade offs and decisions made during the design and evolution of the programing language.
SCIP delves a little bit into Processor registers at the very end. I liked that part. It was a little tedious, but I really like knowing what is going on at the lowest level. Understanding how things work is the fun part for me.
IP Logged
Spanky
Radmeister
Offline
Rad's non-Admin Test profile
in Seamonkey
Posts: 73
Same as Rad
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #2 -
May 9
th
, 2009 at 9:46pm
MrMagoo wrote
on May 9
th
, 2009 at 7:06pm:
They say that dynamic languages tend to be "higher level," but Java is considered a high level language since it does its own memory management.
As I understand it (or don't) the term "higher" as they use it is relative, while your use of "high" is not .. no? As in "Cheech is high, but Chong is higher."
IP Logged
Spanky
Radmeister
Offline
Rad's non-Admin Test profile
in Seamonkey
Posts: 73
Same as Rad
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #3 -
May 9
th
, 2009 at 9:50pm
MrMagoo wrote
on May 9
th
, 2009 at 7:06pm:
SCIP delves a little bit into Processor registers at the very end.I liked that part.It was a little tedious, but I really like knowing what is going on at the lowest level.Understanding how things work is the fun part for me.
The section labeled "Answers" here (~ 3/4 the way down):
http://norvig.com/21-days.html
ties into that.
IP Logged
MrMagoo
Übermensch
Offline
Resident Linux Guru
Posts: 1026
Phoenix, AZ (USA)
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #4 -
May 10
th
, 2009 at 12:24am
Spanky wrote
on May 9
th
, 2009 at 9:46pm:
As I understand it (or don't) the term "higher" as they use it is relative, while your use of "high" is not .. no?
I guess I cannot say exactly how they mean to use the term "higher level." It has been my experience that when a computer scientist calls computer languages "high level" they mean a language where memory management and other fine details of running the program are taken care of the by language itself. This is the opposite of a language like C/C++, where memory management and things like that are the responsibility of the programmer. By this definition, Java would be a high level language, which contrary to what they are saying.
If they are just using "higher level" as a relative term, then I guess I don't know exactly how they mean it and I can't really get the meaning of what they are saying by what is written in the article.
IP Logged
Rad
Radministrator
Offline
Sufferin' succotash
Posts: 4090
Newport Beach, California
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #5 -
May 10
th
, 2009 at 4:37am
Got a note from Nigel saying:
Quote:
Although it's good that you've found Osterhout's paper useful, it's woefully inaccurate in most respects - his examples are extremely selective, and his thesis about "Scripting Language" is really just reflective of his innate bias in promoting TCL, which he originally wrote (and which doesn't compare well at all to any of the older dynamic languages such as Lisp- or Smalltalk-family designs, which is why he grossly underplays Lisp and never mentions Smalltalk, or any modern descendants of those two such as Javascript).
TCL certainly is a scripting language, but as a language design it's really more like the most extreme kind of scripting language - the command interpreters, like the Bourne Shell language. TCL is merely a form of shell language designed to embed in C programs - interop with C code is why TCL puts so much emphasis on strings, since C has no *built-in* data structures more sophisticated than that.
Good to see you're getting into Javascript. The better you've learned Scheme (via SICP or HtDP) the better you'll do at Javascript since it is basically a Lisp too. I recently did a Javascript implementation myself that compiles to bytecode, and I hope to write a JIT to native code for that in the near future.
IP Logged
MrMagoo
Übermensch
Offline
Resident Linux Guru
Posts: 1026
Phoenix, AZ (USA)
Back to top
Re: Programming languages: Scripting/dynamic vs System languages
Reply #6 -
May 10
th
, 2009 at 4:55pm
Ya, I think TCL has limited usefullness compared to other languages.
Good to hear Nigel is still in touch.
IP Logged
Pages: 1
‹
Previous Topic
|
Next Topic
›
« Home
‹ Board
Top of this page
Forum Jump »
Home
» 10 most recent Posts
» 10 most recent Topics
Rad Community Technical Discussion Boards (Computer Hardware + PC Software)
- Norton Ghost 15, 14, 12, 10, 9, + Norton Save + Restore (NS+R)
- Norton Ghost 2003, Ghost v8.x + Ghost Solution Suite (GSS) Discussion Board
- Cloning Programs (Except Norton Ghost)
- NightOwl's Bootable CD/DVD
- PC Hardware + Software (except Cloning programs)
Rad Community Non-Technical Discussion Boards
- The Water Cooler ««
- YaBB Forum Software + Rad Web Site
Radified Community Forums
» Powered by
YaBB 2.4
!
YaBB
© 2000-2009. All Rights Reserved.