Does anyone know anything about a programming language named "C Set 2" which is referenced in the SEI statistics on function point metrics?
I tried to google something about this programming language but this languages name is a collection of non-googlish keywords.
C Set/2 was an IBM C product, for OS/2. I think it was just the IBM version of C, but it's been a long time.
Yup, here are some links:
http://www.os2site.com/sw/info/os2apars/os2apars.txt
http://www.os2museum.com/wp/os2-history/os2-2-0/
http://web.archive.org/web/20100725043713/http://pages.prodigy.net/michaln/history/exhibits/index.html
Heh, I taught C++ to the Labs guys who eventually wrote CSet.
C Set/2 was the C compiler for OS/2. Used it when I worked on OS/2 way back in the day.
Related
Pike is an interesting programming language with syntax like C but interpreted.
Is it possible to use external C libraries in Pike?
For example Apophenia: http://apophenia.info/
I could not find this in its documentation.
Thanks for your help.
Yes, it's possible and it's stated in the doc you've linked. This is covered by Writting modules in C - the CMOD step by step link.
Unfortunatelly it's not that straight-forward. You need to translate C library API into form that is understandable from Pike side. For example there are no pointers in Pike and there are no mappings or strings in C. So you need to write a CMOD that will expose the API into Pike and will do the translation. There is a number of CMODs in the Pike's source code, which you can use as an example and reference.
I'm trying to find a word to categorize some languages, and don't quite have it.
Category 1 Example: A Ruby program must be interpreted; it is really instructions for the ruby program. Python and Javascript are like this, too.
Category 2 Example: A compiled C program needs no interpreter; it is really instructions for the computer. C++ , Rust and Go are like this, too.
I would say "compiled vs interpreted", but there are languages that compile to bytecode. Eg, Java compiles, but you can't run a Java program without having Java installed.
I would say "compiles to machine code", but I've read that C compilers may compile to assembler instead, and I'm fuzzy on that distinction anyway. Which raises the question "are we even talking about a feature of the language itself?" You can write a C interpreter, after all.
Informally, I'd say "you can use Rust or Go to do the kinds of things you'd use C for - to produce efficient binaries with no runtime dependencies."
Is there a word for "equivalent to C" in this sense?
No.
As you've already alluded to, there are various ways of classifying a language.
How it is executed (compiled vs interpreted)
How it exists at the lowest level (byte code vs machine code)
Similarity of the language syntax
Problem domain (scripting language, general purpose, functional programming)
Even the first of these falls down with C. It is perfectly possible to write a C interpreter - see Herbert Schildt's C : The complete reference for such an example.
I think that if you want really categorize languages you should pass through metaprogramming and programming paradigms (http://en.wikipedia.org/wiki/Metaprogramming) and metalanguage
because even if a language is mainly compiled and another is mainly interpreted, it's the compiler/intepreter which decides to pass through bytecodes/opcodes or to compile in machine language, to incrementally compile or to interactively compile and so on..
I hope to be helpful.
When working on hobby projects I really like to program in low-level languages (in the sense that C and C++ are low level). I don't want to work with managed languages with garbage collection and whatnot that takes all the fun away (yeah, we're all different ;-) ).
Normally I use C++ for these type of projects. C++ is rather complex and not so elegant so I have been looking for a language to replace it. Anybody can give me suggestions?
Preferences (not requirements):
should be low-level (like C and C++)
compile to native code (kind of follows from the above but no harm in being explicit)
preferrably target win32/win64
object oriented
statically typed
I have looked at Objective C but I don't like it.
D? (Wikipedia page)
The D language is statically typed and
compiles directly to machine code.
It's multiparadigm, supporting many
programming styles: imperative, object
oriented, and metaprogramming. It's a
member of the C syntax family, and its
appearance is very similar to that of
C++. For a quick comparison of the
features, see this comparison of D
with C, C++, C# and Java.
I think that covers everything in your requirements except Windows support, which it has too.
Note that it has garbage collection, but your question seems to associate garbage collection with being managed - they're not the same thing. I believe garbage collection can be pretty tightly controlled in D.
I should note that I have absolutely no experience in the language whatsoever :)
Ada - http://en.wikipedia.org/wiki/Ada_programming_language
Oberon - http://en.wikipedia.org/wiki/Oberon_(programming_language)
Modula 3 - http://en.wikipedia.org/wiki/Modula-3
Delphi? Pascal syntax, but still quote powerful and just a little more high-level than C++.
Requesting no gc is rather strong and eliminate almost every modern language - things like Ocaml, for example, fill all the other requirements.
There is also ADA which fill every of your desire, but that's a very strict language. The syntax is somewhat similar to Pascal I think, and the language has much less holes compared to C. It has built-in support for threads and 'modules' (better than C headers).
FreePascal
Delphi
Oberon
Any 3 would be great replacements. They're easier to use than C++ too.
Ada is a really good language, however, it uses garbage collections (noticed that mamboking mentioned it.) Not sure about Oberon and Modula 3.
Pascal/Delphi is also using garbage collection as far as I know. (or at least smart pointers of some kind.)
I suggest Limbo!
It's a language created by Rob Pike (co-author with Kerninghan of many programming books). This language is interpreted by the DIS virtual (memory-to-memory) machine or compiled.
It has many data types built in like tuple, pipe, list, array, channel (useful to EASILY comunicate between thread), etc. it's concurrent, modular.
It implements many modern features! and it's used to write application for the Inferno OS.
Limbo review by Dennis Ritchie and
Limbo review by Kernighan
I would suggest Vala! try it is is amazing
I have been asked for these kind of languages, my first naive attempt brought two list
List A)
A programming language based on constraints rather than algorithms to solve the problems. eg. Prolog
List B)
A programming language that contain visual tools to help develop a program. eg. VB
Digging deeply into the internet I feel the first one is more accurate, but the second is still appearing into the results.
So my question is: What are fifth generation programming languages? The first kind or the second?
I would appreciate any links, articles or any other useful resource to understand more about the topic.
EDIT
I'm bringing this to the main question:
Oscar: I've also found references to Prolog, Scheme, Heskell, Lisp while searching on the topic? Are these "more" 5th or are those like VB.
Charlie Martin: Well, Lisp can't really be a 5th gen language because it's older than everything except, maybe, FORTRAN. And Scheme is a dialect of Lisp. But yeah, I've seen functional languages -- Haskell, ML, Erlang, etc -- called 'fifth generation' –
So, is there a chance for constraint based programming languages be called 5th gen?
Thanks.
"Fifth generation programming languages" was an attempt to push logic programming, constraint programming, and satisfaction/unification based programming (like Prolog). Golly, that must have been back in the 80's. There was a big Japanese initiative, back when we thought Japan was Taking Over and Buying Everything.
The usual list of generations is:
Straight machine language, Goldstein
and von Neumann
Assembly languages
"High level" languages, starting
with FORTRAN, LISP, and COBOL.
Either report-generator languages
like RPG, or OO programming
Fifth generation
The terminology is pretty well out of favor today, I think.
To your "off topic" question. I am certainly not an expert in this field, but in my experience C# has an extensive resource of developmental Aids like visual development etc, very similar to VB and im pretty sure there are some great free ones out there. As far as Java goes, I am not to competent in that language but I don't remember it being very visual, but definitely more similar to flash then PHP forsay.
Falcon is a programming language that supports multiple paradigms like message passing, OO, functional, and yet the code looks nice and clean.
What do you think, does it have a chance to take off and be used as a general purpose programming glue language? Is it worth exploring? What are your impressions so far if you used it in real projects?
I've downloaded it. It's powerful, flexible, Unicode-aware, and in use in real-world situations, namely as the scripting language for AuroraUX.
Falcon is our scripting language of choice. "Simple, fast and powerful programming language, easy to learn and to feel comfortable with, and a scripting engine ready to empower mission-critical multithreaded applications." -- http://www.auroraux.org/index.php/AuroraUX:About
Speaking of Unicode, this is a real Falcon script:
// International class; name and street
class 国際( なまえ, Straße )
// set class name and street address
नाम = なまえ
شَارِع = Straße
// Say who am I!
function 言え!()
>#"I am $(self.नाम) from ",self.شَارِع
end
end
// all the people of the world!
民族 = [ 国際( "高田 Friederich", "台湾" ),
国際( "Smith Σωκράτης", "Cantù" ),
国際( "Stanisław Lec", "południow" ) ]
for garçon in 民族: garçon.言え!()
It currently has a small but active developer community and so it's currently at the state where the cool features are really solidifying. Given that the interpreter is currently almost completely unoptimised, it still runs at a very impressive speed.
I know of someone using for all the scripting in their game (replacing Lua) and as far as I know, they've found it a pleasure to use.
While it looks interesting, and has some cool ideas, I don't see much use in learning it unless it's used in industry and or academia.
The history of programming languages is littered with great languages that have fallen to the way side because no one adopted them.
Their features are however often incorporated into more popular languages.
That said Ruby was created in 1993 and rarely heard of it till it got used in Ruby on Rails. Now it's the next big new shiny thing.
So maybe in 2023 I'll be eating my words, but then again if Falcon is a good language and I need to use it then it should be easy enough to pick it up.
What do you think, does it have a chance to take off and be used as a general purpose programming glue language? no one knows!
Is it worth exploring? I guess any language is worth to take a look at
What are your impressions so far if you used it in real projects? I have not used it
Today a race exists to see who creates the most sofisticated language borrowing syntax among them.
Regarding easy to read programs, we can depart from assembly language (and esoteric languages!), following near english ones (C, Java, PHP and Delphi my favorite) and finally english like ones. For example, COBOL.
¿Do we really need a new language? hard to tell. Java was regarded a curiosity and quickly got strong influence in the industry. Dart on the other hand, promised a lot and still have not heard of nobody using it.
Where will Falcon will be positioned? Only time will tell. Personally, I find it's syntax too sofisticated (and also Java, PHP and C). I have been programming in Pascal for many years (and its variants) and prefer something like:
Writeln('I am ',age,'years old and my zipcode is ',zipcode);
Than C++:
cout << "I am " << age << " years old and my zipcode is " << zipcode;
I guess all programmers have a favorite (or in some cases only one) programming language. That leads to the saying "When the only tool you know is a hammer, all problems look like nails!" (perhaps the same can be said about database engines) How many users create "databases" using worksheets?
So, in conclusion I will explore it to enhace my tool box and have a hammer, screwdriver and even a sextant!