Talk:Programming language

From Citizendium
Revision as of 17:16, 26 April 2007 by imported>Pat Palmer (→‎Compiled vs. Interpreted no longer so helpful: more discussion)
Jump to navigation Jump to search


Article Checklist for "Programming language"
Workgroup category or categories Computers Workgroup [Categories OK]
Article status Developing article: beyond a stub, but incomplete
Underlinked article? No
Basic cleanup done? Yes
Checklist last edited by Bruce M.Tindall

To learn how to fill out this checklist, please see CZ:The Article Checklist.





Titel of page

One question, shouldn't the page either be called "Programming language" and then give an overview of what a programming language is, etc. and finally the list it currently contains, or be called "List of programming languages" with the current content?

The current name "Programming languages" looks very strange and will probably lead to mis-links. there will be a link from programming language to it. And yes tho it actually is a list it also should be the central container from where to find the langiage one is looking for. (the umbrella). Robert Tito | Talk 14:17, 25 February 2007 (CST)

[[Category:Big Write]] Big Write came to a prenaturnal end. Robert Tito | Talk 19:44, 26 February 2007 (CST)

Reference? Or Synopsis?

Personally, I'd like to see the citizendium provide a relatively nice reference to these programming languages, however, due to the large variety that we have should we simply provide a brief synopsis of the language as we're doing now? --Paul Derry 12:22, 7 March 2007 (CST)

list of languages

The list of languages currently in this article is woefully incomplete. WP has some very extensive and complete lists of programming languages already. I know that we should avoid copying WP content within reason, but I think it is rather silly to recreate "lists" of things from scratch, and that (subject to some editing, maybe), lists are better off simply copied off WP. Your thoughts? --Dan 23:32, 14 March 2007 (CDT)

also, i'd agree that the list of languages should be a separate page, which would be linked to from "programming language". seems like that would be logical to do.

I agree there, no pproblem copying some content from WP, XP or what souce as lonmg as our list gets complete. The back linking seems very handy for a walk through. cheers - good suggestion. Robert Tito |  [[Talk]]  23:44, 14 March 2007 (CDT)

I'm moving the language list to List of programming languages. Also... ugh. Really terse description of what a programming language is. Going to clean that up too, to make it more accessible to "Joe Schmoe" --Eric M Gearhart 16:40, 7 April 2007 (CDT)

Compiled vs. Interpreted no longer so helpful

The division into compiled vs. interpreted is no longer helpful, in my opinion. The lines have blurred. For example, SQL is interpreted (theoretically) by databases, but actually it is just-in-time (JIT) compiled in most cases, and programmers who place their SQL into stored procedures then ensure that it is purely compiled. C# and VB.NET are theoretically interpreted, but JIT-compiled by default, and again, they may be ngen'd (pre-compiled to native code entirely) so they are not interpreted at runtime at all. Markup languages such as HTML and XML are still purely interpreted, but it may confuse some people to think of them as programming languages. In short, I would ditch the division of programming languages into compiled vs. interpreted. It is out of date.Pat Palmer 10:32, 20 April 2007 (CDT)

Pat, the problem with "ditching" Compiled vs. Interpreted is that many classrooms still teach this concept... I remember my C++ class back in high school specifically making a "big deal" about compiled vs. interpreted vs. assembler. Maybe there should be a section that specifically says "Hey this line is getting blurred with .NET and Java etc. etc., however many people still use the terms 'interpreted' and 'compiled,' to categorize languages, and they mean 'this' and 'that.' Eric M Gearhart
another argument to keep the difference between interpreted and compiled is that compiled programs do not need any other component and can run autonomously on the targetted system. Wereas for instance javascript does need the JVM engine to be able to run. Thus in a way these JIT languages run in a sandbox and can be rather secure (not counting microsoft products since they can from a virtual protected area invoke acxive-x components that can do serious harm. Assembly most of the time is used as an embedded language within other languages - but is quite capable to be compiled into an autonomously executable. HTH, Robert Tito |  Talk  16:43, 20 April 2007 (CDT)
I'm not quite in agreement with the above, although I've heard it enough. For example, C# requires a runtime, but even so, programmers have the option of completely pre-compiling their C# applications to native code. But even if they do, the runtime is required to "load" the program, provide it's heap space, and monitor its runtime progress. The runtime is very optimized, and it's a common misconception that Java and C# programs will run slower than "native" programs written in C. Java and C# programs "start up" slower, but once "warmed up", they are practically as fast as C programs.
I do agree we need a discussion about interpreters. I can write one when I get time (but not this week--maybe within a couple of weeks though). We also need to examine various other kinds of "categorizations" about programming languages. Basically the whole article would benefit from a rewrite with an updated viewpoint. A lot of classroom teaching really is stuck back in a former time, in my opinion. I see it this way because I've been forced to work with many different programming languages and platforms, which is somewhat unusual. Among my acquaintance, most people are more specialists that I, whereas I've been forced to be a generalist, and that has shaped my perspectives on these category things. Because I've had to dig into a lot of things I never wanted to know about (but, they bit me in the butt and I had to find out what was really going on!). What I'm getting at is, there is a lot of innovation going on in programming languages and tools. I am far from an expert, but it's no longer the simple world it was when I was taught languages back in the 1980's.
I'm enjoying these discussions!Pat Palmer 18:16, 26 April 2007 (CDT)

interpreted language; archived this paragraph for now

I just pulled this paragraph off the main article for now:

The division between compiled languages and interpreted 
languages tends to be fuzzy and is by no means a rule. 
A good rule of thumb is that if a programmer writes code 
in a language that uses another application to run the 
program then the language is interpreted. If the programmer 
writes code in a language that uses another application to 
compile the code and the program can be run natively then the language is compiled.

Although I've heard this a lot, I believe it is not quite accurate. Please see the explanation about the JIT compiler on Java programming language to see what I mean. With Java, the JRE (Java runtime environment) is required to "execute" a Java program, but the language is not at all interpreted. All code is compiled to native code, and after the program "warms up", it executes as fast as any traditional compiled language. This needs to be explained here, but I don't have time at present. Just wanted to explain why I've removed the paragraph, for now. I really appreciate it when people author here; don't want to discourage anyone!Pat Palmer 18:07, 26 April 2007 (CDT)