|
|
|||||||||
|
|||||||||
| |||||||||
|
|
|
| |||||||||
![]() |
|
|
«
Previous Thread
|
Next Thread
»
|
Thread Tools | Search this Thread | Rate Thread | Display Modes |
|
|
|
Stay one step ahead of the competition. Evaluate and give feedback
on some of the hottest web development tools on the market today.
Make your opinion heard! Click
Here
|
|
#1
|
|||
|
|||
|
Scripting languages vs. "Real" languages
Back in the day when someone asked which programming languages someone knew, he would never list any of the scripting languages- those were thought of on a completely separate plane of existence from real (compiled) languages.
It's interesting and perhaps a bit sad that so many people today don't understand the tools that they're using and can't distinguish between an interpreted (scripting) language, a bytecode-compiled scripting language, and a traditional (compiled) programming language. I guess that on the PC, C/C++ are just about the only compiled languages in common use! It used to be that there were many more conventional programming languages than there were scripting languages, but it seems that the rage todays is all in the scripting languages. I would hazard a guess that there are people today who've written quite a bit of code who've never used a compiled language! But then some of the new entries such as Python and Ruby are quite nice, aren't they? I wonder what life would have been like had Python been round instead of BASIC ![]() |
|
#2
|
||||
|
||||
|
Quote:
__________________
~James [Not currently seeking freelance work] Like philosophy or interested in spirituality? Philosophorum. Game Dev Experts Forums Foresight Linux - Because your desktop should be cool! Linux FAQ FedoraFAQ UbuntuGuide |
|
#3
|
|||
|
|||
|
Quote:
Not by those who had thought about what a programming language is. True enough, the dynamic nature of scripting means people put together snippets that 'just work' in an informal way whereas the professionals are building big software and busy with the black art of linking and loading, but really this is a software users view of the world. Your compiler is a piece of software, your REPL is a piece of software, and you are a user. I compile lisp and I run lisp in the REPL...It's a mistake to think that they are fundamentally different activities. But there is still a snootiness among some people about 'scripting languages' (I would always prefer that a person define that term before using it) that clearly isn't shared by the brightest language designers and programmers. Last edited by jamieB : July 6th, 2006 at 03:37 PM. |
|
#4
|
|||
|
|||
|
Quote:
Better ![]() |
|
#5
|
||||
|
||||
|
I vote that the term “scripting language” be abolished. I don't know where it came from but surely we'd be better off without it, not only is it incredibly difficult to give a universally accepted meaning it’s also mute.
Many will agree that a scripting language is generally dynamic; interpreted and good for getting things done quickly. This sounds plausible but it falls apart when you consider one older language. Lisp is I have to say my favorite programming language and happens to be the second oldest still in widespread use (only by a couple of months). Lisp would certainly fit the above but can be compiled to machine code and or interpreted. Depending on whom you ask you’ll likely hear that Lisp is the most dynamic language you're ever going to use and it’s an amazing tool for solving complex problems quickly and elegantly. That said Lisp isn’t a scripting language, it’s never been called a scripting language and I doubt it ever will be. Another bunch of people think that a scripting language is any language that has a large number of utilities and which is useful for a large verity of applications. Java, x.NET, C/C++ anyone? There is yet another group of people who say that a scripting language must have a well defined interface to the OS… that’s most languages lets be fair. Then there are people who say that a scripting language is one which is good for writing throwaway code; and some not much else. No two groups entirely agree with each other and generally use the title as an insult that can be applied to languages they don’t understand or feel are beneath them for some reason. I’m certainly guilty of putting down languages I don’t like; Perl, Java, C++ etc. being the main ones. Why make yourself manually compile and link files in a lower level language when you can incrementally compile as you evolve the code-base; I don’t know but loads of people do it every day. If you can do in one language in 5 minutes what might take a day in another and this speed of development means that the language is a scripting language then hell, let’s all use scripting languages and be done with it .Take care, Mark. |
|
#6
|
||||||||
|
||||||||
|
Quote:
It's very clear what a scripting language is, even if you don't know where it came from. There are operational tasks that administrators do, and these interpreted "scripting languages" are designed to make quick work of repetitive tasks. There's nothing pejorative about the term "scripting language" but someone who only knows how to code in scripting languages is certainly not a programmer in the full sense of the word, because coding in these languages means that there are certain types of tasks that are impossible to accomplish, and that you don't have to deal with fundamental aspects of software design. If you want to say that a granny who drives to church on Sunday in her VW is on the same scale as Dale Earnhardt then I'll say you're wrong. Quote:
I have no idea what you're talking about. LISP was not ever, and is not now, a scripting language. Quote:
Right, so what was your point? Quote:
I agree with the first part of your statement- historically one of the strengths of scripting languages has been high level interface to shell services. But that's not true of most languages. Instead, those things are accomplished through library and native service calls. It is precisely the fact that these things are built-ins to scripting languages which is the difference. Quote:
If you care about doing things properly, then it's not enough that when you press the button you get your coffee. Some people like to have control over what code gets executed because they understand what's going on. I thought we already had this discussion in another thread. Wasn't it you who pointed out that when you know more (like a mechanic) it makes you a better driver? Why the sudden about-face? The fact is that this is exactly the issue- scripting languages are special purpose tools- but now they're being misapplied generally. The average guy (let's say 99.9999% of all users) coding an app in a scripting language has no idea what happens after he presses enter. Quote:
You have to choose the right tool for the job. If all you have is a hammer, then everything begins to look like a nail. For my job (you're read some of my posts on assembler and object code so I thought you would have realized it by now) it isn't possible to use scripting languages. I write performance-sensitive code that has to be reliable (processing several million transactions per day) and so I have to understand my platform and know exactly what's going on. It's interesting to hear all the lectures I get from univeristy students and people who are hobbyist programmers or academics who've never done a days work in their lives. You guys have a lot to learn! |
|
#7
|
||||
|
||||
|
So if it has to run lightning fast, you're not going to count stuff like java then? Much as I hate it, I'd never say it wasn't a programming language.
And you're wrong. You can do anything in most scripting languages by virtue of loading shared objects written in other languages that can do what you want. Scripting languages is a term that needs to disappear, because it's interpreted doesn't make it any less a programming language. I refuse to concede that. Now I have some great skills in C, but I don't use it much. Do I call myself a non-programmer because I write good ruby? No. I'm a programmer through and through and what you're trying to argue is a ridiculous position. |
|
#8
|
|||||
|
|||||
|
Quote:
Absolutely not. Java is a pig and it's certainly not a language. It's an application development/deployment platform, it's a scripting platform and nobody uses it for performance-sensitive code or systems programming. Quote:
LOL that's like saying you can code inline assembler in C. So what? Quote:
I don't know anything about you, so why take everything so personally? This is a general discussion but people can't discuss anything objectively? The point is that writing apps is not the same as writing software. You can't write software in scripting languages. And a person who hasn't written and lived with significant amounts of code that deal with multitasking, serialization, interprocess communication, OS interface, resource management, recovery, etc., is just kidding himself if he thinks he's a good programmer. Programming is about more than just making a cool web page, boys and girls. |
|
#9
|
||||
|
||||
|
I am discussing it objectively, merely using myself as an example.
The point is that writing interpreted languages (or bytecode ones) is still programming. You still get usable programs out at the end that perform their function, and that's the point. Take a program that works, do you care what it's written in? I was rather surprised to find just how much of gnome is written in PyGTK, yet it's still extremely responsive. So what you're arguing is an invalid point. Interpreted languages are every bit programming languages. |
|
#10
|
||||
|
||||
|
Quote:
Take for example Perl, a scripting language, with the Tk libraries you can develop modal windows applications, or using CGI::Application makes it easy to develop Web applications. Both backed by perhaps the most famous of scripting languages, but applications nonetheless. Perhaps you're being a bit too facetious Quote:
Or maybe it's because programmers only work on operating systems , what a boring world that would be
__________________
--Ax without exception, there is no rule ... The great thing about Object Oriented code is that it can make small, simple problems look like large, complex ones ![]() 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0 Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems. -- Jamie Zawinski Detavil - the devil is in the detail, allegedly, and I use the term advisedly, allegedly ... oh, no, wait I did ... |
|
#11
|
|||
|