Slashdot Mirror


C Styled Script - C-like Scripting Language

Exomorph writes: " C Styled Scripting (CSS) has just been released for Linux! (Already available for Windows, and OS/2) You can use CSS like an interpreter (Like Perl) or as a scripting engine within your own applications. It follows the C syntax very closely and has now been released under the GNU General Public License." Is anyone using this?

211 comments

  1. several of those already exist by Anonymous Coward · · Score: 1
    There is the CINT interpreter at http://root.cern.ch/root/Cint.html (unfortunately, it has limited error checking). There is also the EiC interpreter at http://www.kd-dev.com/~eic/ (better error checking). Internet C++ at http://www.xmission.com/~icvm/ is a byte code interpreter and should also offer faster compilation.

    In practice, I have not found that style of programming to be very useful with C/C++: plain C/C++ just lack the kinds of facilities that make interpreters really useful.

  2. Re:How? And what's the point? by Anonymous Coward · · Score: 1

    I don't know about you, but I personally would rather have a programming language that has more tools available to me and be more sensitive to errors than to have those tools taken away. You can argue that things like pointers and manual memory managment make for ugly code, but I could whip up some equally ugly code in Java where these things don't exist. Obviously if youa re the type of programmer which does not want to be bothered with details of what is really going on, sure pick a language like Java. If you want to make some quick hack to automate some take, problably a scirpting language like perl is appropriate, but if you know what you are doing, I can't think of a language more versitile and usful than C/C++. They simply require that you truely understand the nature of computers to take full advantage of them. The C/C++ languages are not "awful", they simply allow for maximium control. Taking these abilities away (like Java) is like not using a hammer because you MIGHT hit your finger, if used correctly, C/C++ are amazingly useful.

  3. slashdot now blatantly a corporate toady by Anonymous Coward · · Score: 1

    Would this have even been considered for posting if CSS were not a sourceforge project? I doubt it. No one else considered this noteworthy -- Linux Weekly News didn't cover it at all. Is this what slashdot has been reduced to: shilling for VA projects? C'mon Taco -- nip this alarming trend in the bud.

  4. your .sig by Anonymous Coward · · Score: 1
    They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.

    For CHRIST'S SAKE, give the man who said that the credits he deserves! You can't just dash around famous quotes without attributing them to someone. If you actually don't know who said it (you could also be downright evil and try to make people believe you came up with that yourself, for all I know), do a fucking google search!

    1. Re:your .sig by Zarquon · · Score: 1

      Feeding trolls, but some crack moderator modded you up.. Blame slashdot and the 120 char, it's at 112 already.

      --
      "'Tis great confidence in a friend to tell him your faults, greater to tell him his." --Poor Richard's Almanac
    2. Re:your .sig by C.+Tengo+Hambre · · Score: 1

      Or just truncate it at "deserve neither." How certain are you certain of the wording anyway? I've seen many variations, including that one. I think it's cleaner and more elegant, and the way I imagine someone as able as Franklin would have written it.

    3. Re:your .sig by C.+Tengo+Hambre · · Score: 1
      That version came from Bartlett's, as posted on Bartleby.

      Thanks for the link. That's a pretty good resource.

    4. Re:your .sig by sconeu · · Score: 2

      That version came from Bartlett's, as posted on Bartleby.

      Specific quote ref is here.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    5. Re:your .sig by sconeu · · Score: 2

      I Know it's Ben Franklin. The fscking 120 character limit hit me, dude.

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  5. I've heard rumours of something like this... by Anonymous Coward · · Score: 1

    csh, or tcsh. oddly enough the syntax is C like, and you can write scripts. perhaps it's better to load something on top of a kernel written in C and a shell written in C to get the power of C via scripts, I just don't know. Marge turn the tv down.

  6. ACLiC, CINT and ROOT by Brett+Viren · · Score: 1

    This is (almost) what is done in ROOT (root.cern.ch). Instead of #including the system compiler's source they have something which is called ACLiC. With ACLiC you can compile some C/C++ code to a shared object (.so) using your systems compiler via a fork/exec and link it in to the running code. This is done with a single simple command.

    Using the same command, minus an option, one can instead just interpret the code with CINT. This lets you trade off run time speed with compile time delay.

  7. CINT: C/C++ interpreter by Brett+Viren · · Score: 1
    For a "real" C/C++ interpreter take a look at CINT, used extensively in ROOT: http://root.cern.ch/root/Cint.html. It doesn't cover 100% of C/C++ but it covers a lot.

    I agree that C/C++ is not the best choice for a scripting language in general, but it does allow one to prototype fast.

  8. Re:Also not practical. by riffraff · · Score: 1
  9. Re:What we really need ... by demon · · Score: 1

    Don't need it. Don't want it. Windows has enough problems with mail virii that make use of its scripting host setup.

    Rule #1 of making things easy - you're making it easy for everyone, including the "bad guys". Keep that in mind.
    _____

    Sam: "That was needlessly cryptic."

    --

    Sam: "That was needlessly cryptic."
    Max: "I'd be peeing my pants if I wore any!"
  10. #!/usr/bin/css by vagn · · Score: 1

    A quick look at the documentation
    fails to expose the expected unixizm.

    And .hss. Ugh. Overall it looks cool,
    though. And GPL'd. Won't be long
    before the warts are cured.

  11. CSS doesn't look too hot from a quick glance by ultrapenguin · · Score: 1

    The syntax looks rather weird, its dependency on strangeNamedAndUpperAndLowerCaseFunctions makes you unnecessary work on the Shift key... It has no real language features such as pointers, structs, typedefs, etc...
    It only has one variable type (no ints/chars/whatever)... Seems like its missing all the bitops as well. Strange, off the wall language that will probably not be used much. If I wanted something for a quick script I'd use perl or shell script or even php instead of this.

  12. Re:Got PHP? by jmcmurry · · Score: 1

    Try html_errors 0

    Enjoy!

  13. Re:How? And what's the point? by PD · · Score: 1

    cast-iron bitches

    You say that like it's a bad thing.

  14. `just-in-time' compilation? by Rozzin · · Score: 1

    OK, so maybe not with GCC, but the idea is valid and serious

    Certainly--Common Lisp has been able to do this for more than a decade. See page 677 in `Common Lisp: the Language', second edition, by Steele.

    --
    -rozzin.
  15. Re:Nice troll by nosferatu-man · · Score: 1

    You've completely missed the point. In a competently designed language, equality and assignment wouldn't be so easy to intermingle. For instance, (eq a b) doesn't look very much like (setf a b), does it?

    (jfb)

    --
    To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
  16. Re:Moderation??? by Compuser · · Score: 1

    Why? Say I want to have DSP code run in real
    time. User defines what the code does in some
    built in shell, compiler generates code behind
    the scene, dumps it to DSP then executes. For
    my purposes compile delay is not important.
    I guess I see no firm line between a scripting
    shell and an IDE.

  17. Re:C interpreters by warrior · · Score: 1

    Here's something I would like to see: an interpreter for C code that follows exactly what gcc would do. Then you could make a nice GUI environment for programming, where everything happens as you type it with no compile cycle.

    Hrm. I found this particularly useful when doing AI stuff in Lisp. I'm surprised no one has done it for C yet, it would be a lot handier than having to recompile/start the debugger any time I get a "show-stopper" error. It would be nice to have known it as I was typing it, with nice messages like "you have over-shot your array boundaries again, dumbass. Please stop coding at 4am".

    --
    Intel transfer the difficult from Hadware to software, for get more power, programmer need more technology. -- chinaitn
  18. Re:How is this different..... by Wolfkin · · Score: 1

    That is an important difference! :)


    On a visible but distant shore, a new image of man;
    --
    Property law should use #'EQ, not #'EQUAL.
  19. Re:How is this different..... by Wolfkin · · Score: 1

    Yeah, I actually use Pike, but I've never actually written anything in C, so I wasn't sure how close they really are.


    On a visible but distant shore, a new image of man;
    --
    Property law should use #'EQ, not #'EQUAL.
  20. How is this different..... by Wolfkin · · Score: 1

    How is this different from EiC? Is it supposed to be better in some way?


    On a visible but distant shore, a new image of man;
    --
    Property law should use #'EQ, not #'EQUAL.
    1. Re:How is this different..... by havachu · · Score: 2

      How is this different from EiC? Is it supposed to be better in some way?
      Well, the CSS site can handle the slashdot effect. The EIC site crumpled before this story had 50 comments. :)

  21. Re:Do it the right way by rasilon · · Score: 1

    There's no need to #include the gcc source tree, and the memory mapped file is just a waste, and means you have to think about the security aspects of the temp file. Just read it in via stdio and copy the data to a set of mmapped pages. You need the copy because you don't know ahead of time how big the program will be, thus how many pages you need to mmap.

  22. gcc scriptin' by kvajk · · Score: 1


    If you want something like this:

    #!/usr/bin/ccscript
    /*
    * My C program here...
    */

    and you don't mind terrible performance, then
    you can just write a shell script "interpreter"
    which simply runs gcc on your program.

    #!/bin/sh
    # ccscript:
    tmpdir=/tmp/tmpdir.$$
    rm -rf -- "$tmpdir"
    mkdir "$tmpdir" || exit 1
    tmpobj=${tmpdir}/obj
    tmpsrc=${tmpdir}/src.c
    tail +2 "$1" > "$tmpsrc"
    cc -o "$tmpobj" "$tmpsrc"
    $tmpobj
    exitval=$?
    rm -rf -- $tmpdir
    exit $exitval

    I expect that this CSS program would run a lot
    faster, though. :)

    - Kevin

  23. Re:Oh goody... by GruikMan · · Score: 1

    And IP == Internet Protocol, Interrupt Process, Internet Protocol, Intellectual Property ...

  24. Re:Oh goody... by GruikMan · · Score: 1

    I meant Instruction Pointer, too...

  25. I'm not sure it was a troll after all by bcaulf · · Score: 1

    I think the original poster just didn't know what he was talking about. Another note: a language like Lisp, with its redefinable syntax, has an edge on C-like languages in this respect. The C enthusiast would no doubt point to the savings in typing from C's more compact syntax. But if the Lisp developer finds it necessary to use a particular bit of syntax frequently, relief is just a macro or read-macro away.

    In this way the syntax-happy Lisp fan can have compact, cryptic operators, or long, English ones, as he pleases. He can even stick in some crazy stuff like Perl's innovations in the area of syntax if he likes. At the same time, the core language does not suffer from C and Perl's trademark similar-but-very-different syntax pairs.

  26. Re:RTFLanguageDescription by tongue · · Score: 1

    So far this sounds a lot like Javascript without objects.

  27. Browser Plug-in by gbr · · Score: 1

    I once saw a browser plug-in that would execute C code (muchlike java, interpreted, etc).

    I seem to have lost the pointer to it. Anybody know where I can still find this?

  28. Re:How? And what's the point? by evin · · Score: 1

    I think you're thinking of the templates in C++. www.annexia.org/freeware/cpptemplates/.

  29. This seems familiar. by Srass · · Score: 1
    Back in the stone age, when GEM/3 was fighting Windows 2.11 for supremacy and DOS 3.3 was king, the shareware scene was jammed full of editors and word processors. Everybody had to write their very own word processor, programmers' editor, whatever. And, strangely enough, most of them seemed to have been built with Borland's Editor Toolbox.

    It's kind of amusing to see this continue in the arena of scripting languages. Now, all we need is a scripting language construction set for people to play with. How about it, Borland? Oh, wait, Borland's off trying to find itself, nevermind...

  30. Re:Do it the right way by alehmann · · Score: 1

    Umm, or you could use a plugin system.

  31. Try ICI by Uncle+Dazza · · Score: 1

    This is a mature C-like language that has been used in a lot of different applications, is extremely portable and absolutely free.

    http://www.zeta.org.au/~atrn/ici/

  32. Re:C doesn't make a good script lang. by Old+Wolf · · Score: 1

    Surely that's just a matter of experience. I can -glance- at a page of well-written C and know immediately what it is doing, however Perl looks complicated and contrived to me and it's unclear what all those funny symbols are doing.

    CGI tasks are a snap in Perl because it has high-level functions which C standard libraries don't (eg. opening a socket, grabbing lines from a file, string handling, ... )

  33. Re:YACLIL (Yet Another C-Like Interpreted Languaje by homebru · · Score: 1

    Do we really need another...

    Probably not. But the time and effort spent creating new languages doesn't really hurt anyone. Unless you credit the idea that, by not working on another existing Open/Free Source project, they are diluting efforts to control Microsoft's attempts to embrace and extend the world.

  34. Re:Nice troll by volpe · · Score: 1
    are you on crack?

    No, but apparently you are, because you completely misunderstood what I said. I did not suggest that the compiler should interpret a single syntax in two different ways. I said that a language should not have two different meanings be represented by deceptively similar constructs.

  35. Take it in context by mike_the_kid · · Score: 1

    First of all, take it in context. If someone says CSS, you ought to know which one they are talking about. Photoshop uses ASP files, and I do not get them confused.

    As for having more scripting engines, I say great. The more choices you have, the more platforms that are available, you are bound to get closer to the right tool for the job. You may say "Hey, I can do everything I want to do without this." Maybe you just do not have enough to do.

    --
    Troll Like a Champion Today
  36. Re:How? And what's the point? by mike_the_kid · · Score: 1

    As if disk space is at a premium.
    If it is an issue to you, then do not install it or use it. If you need to use it for something, it is possible that it might work better than perl. Its a longshot, sure. It is not what slashdot uses, I will give you that. O'Reilly may not have written a book about it. OK.

    --
    Troll Like a Champion Today
  37. Re:Turing equivalence? by mike_the_kid · · Score: 1
    The thing I find amusing about this is that languages like Lisp provide this exact functionality without the truly cryptic syntax (although you could argue that parentheses are replaced by angle brackets).


    Thats what is so fun about ML. Here's to mathematics!
    --
    Troll Like a Champion Today
  38. Re:Nice troll by pnatural · · Score: 1

    oh, i've used lotsa lisp. in the dialects i've used, it would be (setq a b) or (set 'a b) vs (= a b). but i haven't used ML.

    i'm inclined to agree with the original poster as well. i've been using python for everything lately, and you couldn't pay me enough to write C/C++/java(tm).

  39. Re:Nice troll by pnatural · · Score: 1

    are you on crack? the only language i can think of where the compiler determines the context of a=b (assignment vs. equality) is visual basic. every language worth it's weight in bits has separate assignment and equality operators.

  40. Re:CSS by treke · · Score: 1

    Someone already wrote a program to strip Cascading Style sheets and called it DeCSS for this very reason. http://www.pigdog.org/decss/.

  41. CINT C++ interpreter by Christoph+Bugel · · Score: 1

    I am using cint, a C++ interpreter. It public domain (sort of). It is used extensively by the ROOT project, where the cint page is hosted: http://root.cern.ch (check the cint link). My employer is now using it as well.
    It can be used as an interpreter executable, but it can compiled / linked with, to give your app scripting abilities. Main issue for me currently is thread safety, which I currently solved by a work-around.

  42. Re:Moderation??? by Spunk · · Score: 1

    Compuser, it's funny due to the mocking, sarcastic tone. He's describing the way a Real Programmer would do it.

    --

  43. no bitwise operators by Teratogen · · Score: 1

    ack. no bitwise operators in CSS. /me loses interest.

    --
    --- even the safest course is fraught with peril
  44. Re:C doesn't make a good script lang. by AtrN · · Score: 1

    You're right. C's data model and lack of run-time support isn't what you want for scripting. You don't want to worry about laying things out in memory or checking everything for errors etc... That's why my favorite little language - ICI - uses a Lisp-ish data model with garbage collection and automatic variable definitions (if desired). The environment does things to make it easier for the programmer. No writing the "mechanics". ICI however uses the C expression syntax and its works really well with the data model. ICI has been about for ages and is used in a few commercial products (its in the public domain). Worth a look (even though I'm biased, I wrote bits of it and maintain [ha!] those pages).

  45. Re:plain old C? by AtrN · · Score: 1
    No. Because that isn't "scripting". The run-tume support specified for C is minimal, C doesn't really have strings - a bit of syntactic sugar for initializing arrays and some library functions that go along with the convention really doesn't cut it - there's no automatic checking and reporting of errors, etc, etc...

    What you want from a "scripting" language are things like,

    • Automatic memory management
    • Automatic error handling
    • Good string processing support
    • The abliity to access other programs/libraries
    • Lots of modules that do all sorts of things and are easy to use and slap together in different ways.
    • Not have to be too concerned with efficiency and still not have to stay up all night waiting for programs
    And loads more. The whole point of these languages is to make it easier for the programmer to write programs, sometimes at the expense of performance (sometimes not, when lots of regex or string or hash processing is done the scripting langauge performance is often comparable to the ad hoc C/C++ programs). So we get the computer to do something for a change and have look after memory and check things etc.. rather than us doing it time and time again (you now, after you've been doing it for as long as I have you get bored with checking malloc's and stuff, you long for a simpler way for the 80% of the programs you whip up that don't really matter that much - the little toys or calculators or text hacks you need from time to time). It's all part of "Simple things should be simple and complex things should be possibe" (although not all scripting languages scale that well).

    Oh, and if people want a C interpreter they should see what we used to use in Unix land - Saber C (aka Centerline C). Didn't really cope too well with the ANSI C changeover but it was a fantastic product for those wanting real C in an interpreter.

  46. Why not call it SALT? by Teilo · · Score: 1

    Anyone remember that old DOS terminal program called Telix? It had it's own scripting language that was a very similar C derivative. I believe there was a Windows implementation at some time as well. At the time the power of the language was mind-blowing (for DOS junkies, anyway). Entire bulletin board systems were written in SALT.

    --
    Mir tut es leid, Menschen daß Einfältigfehlersuchenbaumfolgendenaffen sind.
  47. What we really need ... by err666 · · Score: 1

    ... is a Linux Scripting Host that an application can embed an register its types and functions with that can then be called by *any* scripting language that bothers to implement the Linux Scripting Host interface. All that exists in Windows. I have found no alternative on Unix, neither KDE nor GNOME. Mozilla does have XPCOM. Does anybody know if such a beast already exists or which one comes closest?

    --
    reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))
    1. Re:What we really need ... by vsync64 · · Score: 2
      The fact that Windows has scripting is not a problem. Gnus, an Emacs mail/news client, will automatically execute scripts for you if it receives an attachment of the MIME type application/emacs-lisp. These scripts have full access to the entire elisp environment.

      The key difference is that Gnus will display the code for the script and ask the user: "do you want to execute this script?". You don't see any Gnus mail virii, do you?

      --

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  48. Re:The more the merrier, I say by leifw · · Score: 1

    Trust me; I grew up in MT on that very farm you mentioned in those dark days of programming and we were using GWBasic. It's all we had with MSDOS 2.0.

  49. Also not practical. by Bushwacker · · Score: 1

    At least to me, doing this is entirely pointless. First of all, C as a scripting language would just plain suck. This is because it is such an established and complex (I say crappy, its 2 hard! ;) coding language. Simply 'scripting it' would just dumb it down and make it much more bulky and slow than it normally would be. Also, with PERL and many other scripting languages, which are designed to actually BE scripting languages, CSS has no real place in the world because it is not really needed due to these other already established languages. Finally, whats up with that name anyway? Its much too confusing; sounds too much like Cascading Style Sheets. Yeah! I *do* want some nice DHTML in my Oracle database thank you very much!
    -----------------------------------------

    --
    -----------------------------------------
    Perversely greped and groped by PowerPenguin
  50. Re:C doesn't make a good script lang. by mightbeadog · · Score: 1
    Darn. I guess that means there won't be much demand for the next version: Assembler Styled Scripting language.

    On the other hand, the acronym is likely to remain available...

  51. Application. Application. Application. by JojoLinkyBob · · Score: 1

    I've used C/C++, Perl, and csh over the years. I've found that I don't use one language for everything. The best example I can illustrate deals with regular expressions, string manipulation, and advanced data structures like lists and hashes. For longer, more detailed projects I use C++. For what it lacks, you can still embed Perl in your code (Note: I haven't attempted this yet, but the possibility exists.) Perl in itself is C-friendly in that it recognizes C expressions to a limited extent. Now I don't speak out against a new scripting language like CSS, but there is already a wealthy of modules written. If any new scripting language is written, I think it should brave new territories that current languages/tools are weak at.

    --
    -jc
  52. Re:Oh goody... by paulschreiber · · Score: 1

    POP = Post Office Protocol or Point of Presence

    ATM = Adobe Type Manager or Asynchronous Transfer Mode (or Automated Teller Machine)

    lovely TLAs

    Paul

  53. Re:Oh goody... by biohazard99 · · Score: 1

    Don't forget the ORB drive that syquest(i think) makes.

  54. Re:Oh goody... by axioun · · Score: 1

    also, atm=atmosphere

    --
    "Real knowledge is to know the extent of one's ignorance." ~Confucius~
  55. Remind anyone of DCL ? by SirGeek · · Score: 1
    THe DEC Command Langugage.. It is handy to have a scripting language thats sorta portable.. but I agree it might be better to use something more "common" like perl.

    However, how much "space" does this take ? Is it multi megabytes like perl does ? If its a meg or so, then its going to be more possible to get it mainstream...

  56. python, perl, shell scripts, ... and now css by mz001b · · Score: 1
    What role is this language trying to fill? There are already a lot of alternatives out there -- that are very well established. Many run on just as many platforms as CSS is aiming to. A quick glance at the CSS page doesn't seem to suggest that it can do anything that perl or python can't.

    With out some specific target application, I cannot see the need of introducing yet another scripting language into the world.

    1. Re:python, perl, shell scripts, ... and now css by sharifi · · Score: 1

      It seems that this might be a good language for beginning programmers. Especially for beginning programmers that want to eventually learn C. After all, it is essentially a C-like language with no memory management issues, type checking, etc. Or maybe it's designed so that novice C programmers can write scripts without having to learn another language?

    2. Re:python, perl, shell scripts, ... and now css by shokk · · Score: 1

      It fills the role of helping the folks that wrote this keep off the street. I mean, what else were they going to do with their computer, actually write productive code for an original idea, instead of inventing the wheel for the jillionth time? I didn't think so.

      --
      "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
  57. Re:Just use PHP... by minister+of+funk · · Score: 1

    Every business has their own language. As a programmer, I understand a large subset of the IT the vernacular. Because my mother is a nurse, I understand a very small subset of the medical vernacular. With any task, there is a huge number of possible solutions. Sometimes the right language makes finding the best solution easier. Why do we need another scripting language? Because we need to solve new problems.

  58. Another one? by maxxon · · Score: 1

    What, you mean another C-like scripting language? Aren't there enough of these already?

    --
    max
  59. Wow. slashdot is always behind the times. by OrangeTide · · Score: 1

    People have been using C interpretors for the last 20+ years. My first experiance with C was through an interpretor. And I'm not talking about C-like scripting langauges. I'm talking straight up ANSI C w/ vendor specific extensions. They've been available for DOS, Atari ST, etc. But with the advant of cheap, free and decent compilers and debuggers the need for an interpretor has pretty much vanished. This is why you don't see them around all over anymore. But it's not like it's a new fantastic invention/idea.

    Get over yourself slashdot. You have never been well-informed "technically elite" sorts of people

    --
    “Common sense is not so common.” — Voltaire
  60. Re:Turing equivalence? by mrdlinux · · Score: 1

    ML's cool and all, but it doesn't have macros. Nor does it have s-expressions. Therefore it's not anywhere as powerful as LISP is in this area.

    --
    Those who do not know the past are doomed to reimplement it, poorly.
  61. Re:How? And what's the point? by mrdlinux · · Score: 1

    You're right, C and C++ are awful languages. C has carved out a niche for itself as a "higher-level" assembly language. C++, on the other hand, I just cannot see very much reason for. It is a language shoehorned into the retrictive C syntax that was designed (or not designed, really) for systems programming, and to work around the flaws they had to implement all sorts of nasty things. It forces you to worry about memory management, which defeats the point of a higher-level language (which lets you reason about the logical structure of your program rather than the nitty gritty).

    What I'd like to say about CSS is that it's headed in the opposite direction from just about every other language out there. You see languages like Python and Ruby, slowly they are approaching the abilities of LISP, moving away from Fortran and Algol. CSS seems to me to be a step backwards, and will probably flop as a result. (But then again, look at the popularity of Perl. I guess there's a lot of masochists out there).

    I think I should point out that while Python and Ruby approach LISP, they won't ever be LISP. The critical difference is in the representation of the programs. LISP programs are data. Some have said that if you removed all the parentheses from a properly tabbed LISP program, it would resemble a Python program. This is true, to an extent (never mind the lexical scoping rules and such), but the parentheses are not there just for show. LISP programs are data, and the parentheses give structure to that data at a higher level than ASCII characters: symbols and lists. And you can manipulate that structure with ordinary data-operations. Not to mention, LISP has had native-code compilers for 40 years, so it's better than just a scripting language. (see Successful LISP for further elaboration on these topics)

    Which brings me back to your first point: the C preprocessor. I'm sorry to disillusion you, but the C preprocessor is a pitiful thing compared to the LISP macro facility. And it doesn't take too much extrapolation to figure out why.

    It's hard to see the point of a scripting language that lacks so much compared to something like Python or Ruby, or even LISP.

    --
    Those who do not know the past are doomed to reimplement it, poorly.
  62. Not using it yet... by BiggestPOS · · Score: 1
    But I've read over the site, and I like what I see, I plan on at least learning this, and probably implementing it rather soon.

    --
    What, me worry?
  63. Re:Nice troll by Lozzer · · Score: 1

    So why oh why do C and C++ use the same symbol for pointers and multiplication?

    --
    Special Relativity: The person in the other queue thinks yours is moving faster.
  64. I already use a 'C' based Scripting Language by poetic+justice · · Score: 1

    It's called Perl. It works, it's mature, and it runs on nearly any platform.

    1. Re:I already use a 'C' based Scripting Language by hearingaid · · Score: 1

      it's funny actually. I see a lot of posts from people who seem to think Perl isn't C-like.

      these people should learn Forth. heh. then they would know the difference.

      now there's an idea. I wonder if Forth could be adapted for CGI use... or if it already has. hmmm. ;)

      --

      my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  65. i'd like to see you... by mdray · · Score: 1

    ...do this in C:

    @new = map { lc($_->{name}) } sort { $a->{name} cmp $b->{name} } @old;
  66. Re:Not to nitpick... by Sri+Lumpa · · Score: 1
    It's kind of like George Foreman naming all of his kids George.

    Really? Did he have any girls?

    "Hey guys, I'm going out with George tonight."

    Guys - "What? Are you gay?"

    "No, no, she is a girl"

    Guys - "So you're making the guy this time, what about next time though?"

    ...

    --
    "The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers." Bill Gates,
  67. Got PHP? by mcrbids · · Score: 1

    PHP is rather "C-like", mature, stable, and I can knock out useful stuff in no time flat!

    Using the CGI option when compiling it, you get a very good general-purpose scripting language, with dynamically assigned/typed variables, full control over loops, and Memory management? Whats that?

    Also, full access to your database, connection handling, (try THAT with bash) the list goes on.

    The ONLY pisser is that errors are always displayed in HTML format... fine in a browser, but can be hard to read at the tty.

    Needless to say, I use it for just about everything!

    -Ben

    --
    I have no problem with your religion until you decide it's reason to deprive others of the truth.
  68. Re:Nice troll by Frizzle+Fry · · Score: 1

    There's also python, where if(a=b) is simply illegal.

    --
    I'd rather be lucky than good.
  69. Re:Turing equivalence? by Tokerat · · Score: 1

    Unroll your loops ;-)

    --
    CAn'T CompreHend SARcaSm?
  70. C and C++ are not for the average bear... by .Natalie_Portman · · Score: 1

    I agree, you want easy cash, screw serious comp sci. Trivial wittle web junk, pay me like bill gates. C and UNIX are just fun. Take yer head out of yer ass and have some fun. Give up yer middle ware oracle enterprise dot com crap written in java and write some client server C/UNIX progs. Nice environment. Not much money, but the system works good. Very satisfying to develope with emacs, gcc, gdb. open source me...

  71. Re:Not to nitpick... by _xeno_ · · Score: 1
    ...because that way when I write a mail filter to remove all harmful CSS e-mail virus attachments, I can call it... "DeCSS"!

    >:)

    (And I think it's stupid to try and reuse the CSS for something else, too. Especially when it'll probably wind up with both being used in similar applications - a CSScript that writes out a CSSheet for a web-based app...)

    --

    --
    You are in a maze of twisty little relative jumps, all alike.
  72. Re:Not to nitpick... by Twanfox · · Score: 1
    I'm not entirely sure how this post rated an 'insightfull' other than the name chosen, but I do happen to use this language, and it is actually rather usefull. It's more usefull on windows machines than linux ones, however, as Linux has quite a number of scripting languages available to it already.

    As for the name, it's proper name is "C-Styled Scripting" language. Now, if you can figure out some other short name than CSS from this name, I welcome the attempt. As it is, it's full name states very clearly what it is and uses a similarity to show what sort of familiarity people might have with it.

    I doubt very seriously that their intent was to usurp the shortname for 'Cascading Style Sheets', but let's think about this for a second. The term 'CSS' also refers to Content Scrambling System. Is this not a conflict with Cascading style sheets, since that concept was around before DVDs (or I think it was, at least). Now, not including the programming language, there are 2 uses of the acronym 'CSS'. Why not pick on the MPAA for use of their TLA. :P Heck, why can't people call things by their proper names, anyways? Would make discussions like this quite a bit more pointless (not that it needed any more help being that).

    If you don't like the name CSS for C styled scripting language, don't use it. Apply that TLA to whatever you want, but don't think that there can be only one use of the term CSS. That's like suggesting every word in the english language should have one and only one definition. :P

    Move on, would ya?

  73. Re:#!/usr/bin/perl by shokk · · Score: 1

    What we really need is people using the existing scripting languages for a purpose. Maybe write something innovative. That, or they could help paint sidewalks red from a great height.

    --
    "Beware of he who would deny you access to information, for in his heart, he dreams himself your master."
  74. Re:Pascal is THE scripting language for UIs by Gumshoe · · Score: 1

    Pascal was never used with any real success outside teaching

    I've never understood the wisdom of using Pascal for teaching. I've nothing against Pascal, but in the face of languages such as Modula-2 and Oberon, both designed by the same guy (Wirth) and with the same philosophies, you have to wonder why Pascal is favoured over the more recent languages.

  75. Re:Pascal is THE scripting language for UIs by Gumshoe · · Score: 1

    You are absolutely correct in your reasoning, however, when I said "I never understood the wisdom of using Pascal for teaching", I was referring to modern day practice. Where in my experience, Pascal is exclusively the language of choice for a first language (in Colleges and Universities).

  76. Re:Pascal is THE scripting language for UIs by Gumshoe · · Score: 1

    Pascal predates C by decades

    Close. Pascal was invented in 1970 and C in 1972.

  77. Cascading Styled Scripts by Jantastic · · Score: 1

    ...could perhaps replace the other CSS abbreviations.
    For cascading your script languages with style.

    --
    ...a fact which for the sake of a quiet life most people tend to ignore ~H2G2
  78. ixlib by inducer · · Score: 1

    ixlib features ECMAScript 4 (=JavaScript 2) with classes and inheritance, it has a focus on embeddability, and it offers an easy C++ interface. Why would you need CSS? :^)

  79. Re:Not to nitpick... by danudwary · · Score: 1

    Her name is Freda, but her middle name is George. And she's a boxer. Seriously. I saw her fight on cable a few weeks ago.

  80. Re:How? And what's the point? by red_crayon · · Score: 1

    Fair enough? But which language would you prefer?

    Not for kernels and such, but for garden-variety
    projects.

    Pascal / Modula-x / Oberon / FORTRAN / ???

    It's nice to see Pascal still around (Kylix) but
    many people seem to scoff at using Pascal for
    "serious" programming (defined as whatever they
    are doing).

    --
    "Never bullshit a bullshitter" All That Jazz
  81. Re:RTFLanguageDescription by Godwin+O'Hitler · · Score: 1

    * Variables must be declared but are untyped. Like Tcl, everything appears to be a string.
    hmm... sounds like Tcl
    * There are no pointers (though there are call-by-ref parameters).
    hmm... sounds like Tcl (upvar...)
    * There is no memory management, though there is a way to dynamically change the size and dimensions of an array object.
    hmm... sounds like Tcl (unset...)
    * There are some extensions, such as exception handling and string concatenation
    HMM... SOUNDS LIKE TCL (catch...)
    * There is no "goto" construct.
    HMM... DEFINITELY SOUNDS LIKE TCL
    * There is a limited preprocessor facility (#ifdef equivalents, but no macros).
    .

    ah ... no, it's not Tcl

    --
    No, your children are not the special ones. Nor are your pets.
  82. i'd like to see you... by Godwin+O'Hitler · · Score: 1

    ...intuitively know what that code does

    --
    No, your children are not the special ones. Nor are your pets.
  83. Re:C doesn't make a good script lang. by SpryGuy · · Score: 1

    MY question is... we already have JScript (which is close to C, by virtue of being sorta kinda like Java, which is close to C++)... why do we NEED this? What does it bring to the table, except YASL (Yet Another Scripting Language)? We already have Perl, Python, JScript, and (god forbid) VBScript in this world... what is the motivation and purpose behind a C-Script? Are there really that many C programmers that have no clue about C++ or Java, that are now going to be writing scripting stuff? I would think JScript would have most people covered if they wanted a C-like syntax (near enough, anyway).

    - Spryguy

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
  84. Re:C doesn't make a good script lang. by SpryGuy · · Score: 1

    ....but since it's a new language, and by its very nature a scripting language can't be all that 'c-like' (no variable types for starters!), your arguement doesn't make sense. Since this is a NEW scripting language, by definition they'd have to learn a new language. Chances are, they already know some other scripting language (jscript being a good example, but also perl or python or Tcl, even vbscript). All of those are embeddable already.

    So I still don't see what value this brings to the table.

    - Spryguy

    --

    - Spryguy
    There are three kinds of people in this world: those that can count and those that can't
  85. Re:How? And what's the point? by DickBreath · · Score: 1

    The other issue is... what's the point? I hate to tell people this, but C/C++ are two of the worst languages on the planet.

    You're right. C and C++ are the #2 and #3 worst languages on the planet. You forgot to mention Perl.
    --
    "Linux is a cancer" -- Steve Ballmer, CEO Microsoft.

    --

    I'll see your senator, and I'll raise you two judges.
  86. CSS is already taken! by PhunkySchtuff · · Score: 1

    Why do developers insist on using a name that's already take, for something that is also vaguely similar.
    There's no way these people haven't heard of Cascading Style Sheets, so why not call it something different and avoid all this needless confusion.
    -- kai
    Give a man a mixtape, and he'll be grooving for an hour,

    1. Re:CSS is already taken! by pdiaz · · Score: 1

      Even If they haven't head of Cascading Style Sheets, the obligatory(in my opinion) search of it's future project name on google (and maybe freshmeat) will show that the name was taken

      --
      Make It Secret . Free JavaScript implementation of AES for your browser
  87. Re:Shouldn't have GPLed it by awptic · · Score: 1

    What the hell does the licensing have to do with how successful a scripting language is ??? If anything it would greatly add to it's success with all the user contributions which would otherwise be impossible with restrictive licensing, that being the same argument that can be made with any GPL'ed program, and why I like this license so much. I'm sure we've all heard enough argument involving the GPL so anything I could say here would just be redundant. I don't know what your definition of "successful" is, but TCL is a damn fine language which is very embeddable, not to mention it's licensing is almost identicle to GPL (I'm reading the license now and as far as I can tell, it's just the GPL with another name)

  88. Re:CSS by hearingaid · · Score: 1
    obviously not a canadian above. :)

    Canada Student Loan. ;)

    I really need to get to work on that TLA database I've been thinking about for many years...

    --

    my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  89. Re:Moderation??? by hearingaid · · Score: 1

    man oh man. doing a full C preprocessor for just-in-time.

    no, I don't think so. where were the bank of crays you wanted to run your app on? :)

    --

    my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  90. Re:Worst language ever! by hearingaid · · Score: 1

    Worst?

    Learn ADA. And RPG. And CO.

    Come back and say that. I haven't looked at the language yet, but I must say, I don't believe this person.

    For one thing, as a Forth programmer, I think Java's a lot like C. You want pointers? We got pointers... ;) (You can't access a variable without using pointers in Forth. Period.)

    --

    my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  91. Re:Don't need any more interpreted languages by hearingaid · · Score: 1

    oh, there was a time... when you could tell the real programmers because they knew what INTERCAL stood for.

    wait a minute. that time is now. ;)

    don't go anyone spoiling this post by posting the answer!

    --

    my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  92. Re:So many scripting languages... by hearingaid · · Score: 1

    I'm still wait for people to use Forth for scripts.

    I mean, after all, P-code is still interpreted code.

    ok, I'll shut up about Forth now. :)

    --

    my old sig used to be funny, but then slashcode ate it and now it's not funny anymore

  93. Re:Do it the right way by 3-State+Bit · · Score: 1

    haha. good one. just don't tell intel, or they'll have a hissy-fit, back the whole thing to hell and back with capital, and turn IBM-y with the linux support. And here they were quaking in their boots about how efficient linux was ;-)
    ~

  94. Oh goody... by wrinkledshirt · · Score: 1
    CSS = C-Styled Scripting or Cascading Style Sheets or Content Scrambling System
    ASP = Application Service Provider or Active Server Pages
    LSB = Least Significant Bit or Linux Standards Base
    ORB = Object Request Broker or Operation Request Block
    PGP = Pretty Good Privacy, PPP = Point to Point Protocol, P2P = Peer to Peer, PHP = PHP Hypertext Processor, PAP = Push Access Protocol or Password Authentication Protocol
    DOS = Denial of Service or Disk Operating System, DSO = Data Source Object or Dynamic Shared Object
    .net = common url suffix, but .NET = java clone

    So many things to keep track of...

    --

    --------
    Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...

    1. Re:Oh goody... by Link310 · · Score: 1

      Clearly we should stop making new languages and start making new letters. =)

    2. Re:Oh goody... by jbarnett · · Score: 2


      Let's move to unicode.

      --

      "`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
    3. Re:Oh goody... by ryants · · Score: 2
      Remember... there are only 17576 three letter acronyms, so we're bound to start overloading them at some point.

      Ryan T. Sammartino

      --

      Ryan T. Sammartino
      "Ancora imparo"

  95. Re:Not to nitpick... by jrockway · · Score: 1

    no no, let's write a DeCSS implementation in CSS. It just fits :)

    --
    My other car is first.
  96. Seer by entrigant · · Score: 1

    Anyone heard of something called Seer? I found a link to it on the Allgero libraries homepage. I was a C pseudocompiler/interpriter that had a library for integration into your own programs. It more closely followed the C language and still used things such as typed variables, pointers, and memory management. You could export any C function to be called by the scripting language. It's advantages were that it had a really fast optimized compiler, and the pseudocode is executed fairly fast. There some allegro graphics demos done in it that were pretty impressive. It could also be interprited directly. Just something similar but done in a different way for those who would find some use for it. =)

  97. Re:Already done -- CPR by Oswald · · Score: 1

    Why is this funny? He's right.

  98. What about JavaScript...? by frleong · · Score: 1

    Isn't JavaScript a C-style script? Besides why use this acroynm (CSS) when it is already used by Cascading Style Sheets? This only generates more confusion that necessary.

    --
    ¦ ©® ±
  99. Re:Not to nitpick... by Phurd+Phlegm · · Score: 1

    Just about the first thing in the documentation is a note that since all TLAs have already been used several times, you'll just have to live with the CSS collision. He mentions both previously-noted prior uses of "CSS".

  100. DeCSS in CSS by Coryoth · · Score: 1

    Hmmm ... I wonder how it'll be before someone writes a version of DeCSS in CSS - that might be fun (for a very short time).

    Jedidiah

  101. How To name a software project by pdiaz · · Score: 1
    Everybody knows that a software project's name is 90% of its subjects. Accourding to previous experiences, I suggest the following guidelines:
    • Whatever the name you choose, we sure your name can be reduced to an acronym. Geeks love acronyms. Note:This not aply to some projects, like the Personal Object Oriented Pinboard, or Private Internet Source Site
    • Add some weird symbols. The project was hard to code, so it has to be hard to refer to. Add exclamations, smiles, and in general, whatever symbol to generate a result that will confuse the reader in a way he/she can't tell if its a project name or it's writter emotions. Examples: ChilliSoft!, DivX ;-)
    • Prepend some letter to the init of the name. 'i' or 'e' just perform well.
    • Finally, add a year where an important software event ocurred. This adds (borrows?) importance to your project. And, when you abandon your project because you're a fuck'in lazy coder, you at least will now when you started it.
    Some examples:
    iPISS >;=) 2000
    ePOOP^_^! 98
    Hope this helps. It helped me (to get fired)

    --
    Make It Secret . Free JavaScript implementation of AES for your browser
  102. YACLIL (Yet Another C-Like Interpreted Languaje) by pdiaz · · Score: 1
    C Styled Script (CSS) is a powerful and easy PROGRAMMING LANGUAGE available available for Windows, OS/2 and Linux. CSS follows the C syntax very closely and programmers used to C, C++ and Java will immediately be familiar with it. CSS is used like an interpreter: You write the program with your favorite editor and run it directly like any BAT, CMD or PERL script. More than that, the CSS scripting engine can be integrated into your own applications as a macro language. CSS has 2 programming interfaces: A "C" API for virtually any 32 bit compiler, and C++ class interface for selected compilers.

    I've seen this. A lot of times. Do we really need another interpreted general all-in-one for-you-and-your-granma also-runs-in-commodore embed-in-your-apps c-like languaje?


    Planet Cluster: Cluster News & Information

    --
    Make It Secret . Free JavaScript implementation of AES for your browser
  103. Re:Shouldn't have GPLed it by geomcbay · · Score: 1
    Eh?

    Let me quote from the Tcl license, as taken from here.

    Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.

    That sounds like the GPL to you? Maybe you need some new reading glasses.

  104. thanks by majiCk · · Score: 1

    some nice pointers to things i'd forgotten about. see, i only learned a subset O'Caml in an intro to CS course, and i've been trying to grok the rest of it lately. it really seems like a nice language, and it's a shame the moderators took my mention as flamebait! :)

    majiCk, who ponders the futility of posting to a yesterday-story. . .

  105. For those partial to java... by BigOneBitey · · Score: 1

    I use perl, python, sh, javascript for scripting, but sometimes find myself writing scripts in java (when you code in it all day it tends to stick in the mind).

    Luckily there is a script interpreter for java called beanshell (FAQ) so my scripts actually will run.

  106. Re:How? And what's the point? by anshil · · Score: 1

    But why use it as scripting language then?

    --

    --
    Karma 50, and all I got was this lousy T-Shirt.
  107. Re:RTFLanguageDescription by anshil · · Score: 1

    """
    Variables must be declared but are untyped.
    Like Tcl, everything appears to be a string.
    """

    Man with this point it doesn't even come to close to anything I would associate with C.

    --

    --
    Karma 50, and all I got was this lousy T-Shirt.
  108. Why C Styled Script? Why not C++? by netdemonboberb · · Score: 1

    I don't understand why, with the way web apps are getting these days, there isn't a C++ styled script. I understand that C++ isn't the best scripting language the way it stands now, but there could be built in hash templates, etc etc that make it just as good as perl. So how about it? Anyone up for the challenge? The OOPedness of C++ would make creating a Web Application a real fun. If there was a C++ styled script, I would be in heaven! I don't really care if its a little slow.

    --

    Volunteer Mozilla developer, RPI Student.
  109. Worst language ever! by Flying+Headless+Goku · · Score: 1

    It doesn't exist to fill an empty niche, but to try to squeeze into an overstuffed one (general scripting language).

    It has an abbreviation already used by 2 common things (Cascading Style Sheets and Content Scrambling System).

    Worst of all, it doesn't really follow the C language closely, it skips some of the major features, such as pointers, gotos, and #define macros. I mean, pointer arithmetic defines C. This is about as close to C as Java or Perl. Your C programming skills will not transfer except in the most superficial way.
    --

    --
    1. Re:Worst language ever! by depsypher · · Score: 3

      Ok, first of all why would you want pointers in a scripting language? It's a SCRIPTING language we're talking about here!!! Scripting languages are supposed to be an easy way to expose the functionality of a program, not a tool to create security holes and logic errors. Introducing pointers into something like this will create more bugs (both intended and accidental) and be a major pain in the butt for the script programmers to deal with.

      Also, since when is goto a major feature of C? One of its very few legitimate uses is to break out of a deeply nested loop. Ok, so other than this one use (which optimizes some code only some of the time), what is it good for?

      Finally, #defines are a nice feature of c, but again, this is a SCRIPTING language. If you just need a constant, declare one const. If you need a function that returns the bigger of two numbers, write the function! I fail to see what features they've left out that are really needed in a scripting language. p.s. I do agree with you that CSS is a pretty bad choice of acronyms.

  110. You don't even know what these things are for! by Flying+Headless+Goku · · Score: 1

    Pointers are distinguished by pointer arithmetic. They don't have to be memory addresses, they only have to support moving around in an array they reference. Garbage-collected array reference plus simple integer index equals garbage-collected pointer. There's no good reason not to include them.

    If you think gotos are only good for breaking out of loops, you've never written a state machine. Or at least, never written one well (hint: a case statement inside a loop is just an obfuscated set of gotos with wasteful runtime overhead). Have you ever even experienced trouble from using gotos in your work, or is it pure herd-mind prejudice?

    Macros are useful to allow factoring code without excessive argument passing. What advantage is it to write a 3-line function that takes 6 arguments? If 5 of the arguments are going to be the same each time, a macro only needs to take one argument. Used properly (for one thing, defined near where they are used, rather than all segregated into a "macros" section or hidden in header files), they cut way down on cut-and-paste and increase readability and greatly increase editability.

    That these features are poorly used by poor programmers doesn't mean these are poor features. However, believing that it does is the mark of a poor programmer.

    Try reading some of Donald Knuth's code sometimes. He writes damn good stuff, and he isn't the least bit embarassed to use gotos, macros, and pointer arithmetic. I recommend his literate conversion of Adventure for fun reading.
    --

    --
  111. Re:How? And what's the point? by droyad · · Score: 1

    I agree, there are already enough scripting languages out there for every concievable use. Why take up more disk space with another scripting engine??

  112. EiC by gerryxiao · · Score: 1

    Did any one ever looked at EiC,not bad c alike script language.

    1. Re:EiC by gerryxiao · · Score: 1

      In one point, I agree with you, that's c isn't good language as a language compared with c++/java ,and others. but c is the base of *nix, even no os writen by c++, if you want to dive into something, you can't forget c. EXACTLY like "c" turely isn't selling point,but owns capabilities which can run c code in a interpreter is a attactive thing, is useful for debuging,embedding,education,etc. few scripts can do following like EiC : > #include >char * hello="hello world"; >fprintf(stdout, hello); --> hello world

    2. Re:EiC by gerryxiao · · Score: 1

      we don't need any c-like scripts but real c scripts, what c can do ,it should do also, but one need compile,another not. EiC maybe move towards above target,by now i know EiC still lacks many standard lib support,still have a long way to go.

    3. Re:EiC by SpryGuy · · Score: 2

      I've determined that "C-like" really means just the following:

      1. Uses curly braces to delimit logical code blocks

      2. Uses lowercase statements for control flow (if, while, for, switch)

      3. The 'for' statement is not a proper looping or interation statement, but is just a "while++"

      4. The 'switch' statement is horribly limited to compile time numeric constants and requires you to remember to 'break' after each case, which is braindead.

      5. The language relies on libraries of functions to do anything useful (printf, scanf, getchar, fopen, etc, etc)

      6. Ends logical lines with semicolons.

      And that's about it. When you see "C-like", they tend to be talking more about form than function, to be honest. And they certainly NEVER mean any of C's ugly (but of course powerful) sides, like pointer arithmetic, massively complicated typed variable declarations on one line, a preprocessor that can easily obfuscate meaning from simply examining the code with human eyes, etc, etc.

      Quite frankly, C got so far as it did because it was VERY fast, and very powerful if you knew how to weild it... and these things were very important when you had little memory and slow processors to work with. To be honest, the design goals of C make almost no sense any more. And C++ (a language I've worked heavily in for 8 years) is an abomination these days. So complicated it literally takes YEARS to become truely proficient, and designing and implementing huge systems in it is pure torture. Languages like Java and the like are here to take advantage of the ever increasing cheapness and availability of CPU and memory (and disk). They simplify life dramatically, speed development, get rid of complicated maintenance of separate header and code files, compile lightening fast, report errors better, have fewer ambiguities and problems, and do the job "fast enough". Ditto for all the scripting languages around.

      So frankly, it's getting to the point where being EXACTLY like "C" isn't a selling point on ANY level. Being "C-like" sorta helps a transition from a 'habit' sort of point of view, but really isn't that necessary any more.

      - Spryguy

      --

      - Spryguy
      There are three kinds of people in this world: those that can count and those that can't
    4. Re:EiC by istartedi · · Score: 3

      I can't believe I had to read this far down to see a mention of EiC. First, and this is important...

      ...one of the best things about EiC is that it is NOT merely "C-like". EiC tries to follow the ANSI/ISO standards as closely as possible and does a very good job of meeting C90. Last I heard, C99 support was in the works.

      Whenever I hear "C-like" I always get suspicious, and it almost always turns out that the syntax is not true C. Based on what other people are saying, it looks like the article is mentioning yet another one of those, and if that's true I have no use for it.

      As for the people who are wondering why people want scripting in standard C, here are my reasons:

      1. Code re-use. With a babel of scripting languages, you are duplicating functionality at times. When you do your scripting in C, you can take ideas that started out as scripts and easily incorporate them into powerful programs at a later date. Likewise, you don't have to translate the large body of C source code floating about into some other language--you can just use it.

      2. Rapid Application Development, which ties in closely with point 1.

      Long live C! Although I haven't actually tried it, I plan to use a C to Java translater, make, and javac to build Java applets without actually writing Java.

      The only new language I want to see is a metalanguage analogous to PBM so that I can maintain all my code in C, run CtoPBMlang and PBMlangtoFOO with make to build for whatever scripting environment is required.

      It's funny to think that programmers are trying to write translaters for human languages. We don't even have reliable automatic translators for the far simpler languages that we have invented for programming!

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  113. Re:Name Suggestion by X_Caffeine · · Score: 1

    damn, wish I has some moderation points so I could up that for "funny"

    --
    // I will show you fear in a handful of jellybeans.
  114. Re:Hmm... by isudoru · · Score: 1

    probabyl DeCSS or some other already taken name...

    --

    ----
    "I believe in karma. That means I can do bad things to people and assume they deserve it" - Dogbert
  115. Re:Giant Step Backwards by night_flyer · · Score: 1
    By the way, the name "CSS" was a HORRIBLE choice.

    No Kidding, Now Ill have to determine what is being said as to wether someone is talking about Cascading Style Sheets (CSS) or this new C script... sheeze...

    _______________________

    --


    Thanks to file sharing, I purchase more CDs
    Thanks to the RIAA, I buy them used...
  116. Yah this is great by Owensellwood · · Score: 1

    CSS - yet another language vaguely like everything you already know yet just incompatable enough to generate a million incomprehensible compile errors from even the simplest of tasks. Don't even THINK of trying to port anything to this. Also, we are running out of acronyms. Help Owen Sellwood Official Maintainer : "C--" and "Idio-C" -- for when the languages that already work perfectly for everything just aren't enough

    --
    -K
  117. Re:How? And what's the point? by mrm677 · · Score: 1

    Interesting comments... From you standpoint, is there a language better than C/C++ that can meet the needs of today?

  118. Progress? by Dungbutter · · Score: 1

    Is this really progress?
    I thought the whole point was to De-CSS!
    I suspect the MPAA is behind this!

  119. Re:C doesn't make a good script lang. by cakoose · · Score: 1

    I don't think it's the functions that the guy was talking about. Though scripting-friendly functions could help, it's the language itself that makes the biggest difference. PHP doesn't require that variables be declared and as a consequence, they can be of any type. Arrays and maps are easy to deal with because of in-language support.

    Also, as web applications get larger and larger, scripting languages become more problematic because scripts are usually more difficult to maintain and update. I think PHP is going towards becoming less like a conventional scripting language for this reason.

  120. plain old C? by Tuxinatorium · · Score: 1

    Couldn't you always use actual C?

  121. Name Suggestion by Ironpoint · · Score: 1

    Because CSS already stands for cascading style sheets and also content scrambling system, Why not call it something non-confusing like DivX.

  122. Re:Pascal is THE scripting language for UIs by akulkis · · Score: 1

    You're crazy.

    Any USABLE version of Pascal is NON-standard... because anything which fits the definition of standard pascal is unusable (for example, a pointer to an array of 18 characters is different from a pointer to an arry of 19 characters, so they cannotbe used interchangeably within the same function).

    Even Nicklaus Wirth said that Pascal is meant only as a LEARNING tool, and that real projects should be coded in Modula (Basically, Pascal is Modula with overly-strong variable typing).

  123. Its not C Jim, not as we know it. by crispie · · Score: 1

    This language is as much a C language as C++ or Perl is. No 'int', no 'long', no 'char *'. It only provides a variant (generic) 'var' type. Its a C-like language, but not spectacularly advanced. Fine if we had it 10 years ago but theres much more useful languages out there. Heck, you could compile C to Java byte code and have something debuggable and probably more useful, but as everyone will ask - why?

  124. CSS by spaz83 · · Score: 1

    Personally, when I can't awk, sed, grep and ksh it, it's time to break out a compiler.

    1. Re:CSS by einhverfr · · Score: 2
      Or does it mean Content Scambler System... Does this mean that DeCSS now has uses beyond the access clause of the DMCA? Man I am confused....

      Here is another way then to annoy the MPAA-- create a Deconstructor for CSS and call it DeCSS... Then when they complain, simply leave it at "I fail to see how your complaint has anything to do with the software at hand..."

      --

      LedgerSMB: Open source Accounting/ERP
  125. It has to end in P by Tony+Shepps · · Score: 2

    Like PHP, ASP, and JSP.

  126. Hmm... by David+Price · · Score: 2

    Someone should write a tool to find and erase all copies of this thing on a host. Wonder what such a thing could be called?

  127. Ways not to have an impact on computing... by slothbait · · Score: 2

    Ways not to have an impact on computing...

    1) Define a new project with the same goal as multiple established projects.
    2) Select a name that is already accepted for several other technologies.
    3) Post it to Slashdot.

    Lenny

  128. no naming confusion here by Tumbleweed · · Score: 2

    I doubt there'll be much confusion, because I doubt too many people will bother with this. So when someone cays 'css', I think the safe assumption is that they're talking about 'cascading style sheets'.

  129. Re:C interpreters by acroyear · · Score: 2
    Uh...lemme remind you -- almost EVERY scripting language (besides shells, and perl was labelled a "shell" language) was originally meant to be used to just add embedded scripting. Tcl/Tk was NEVER meant to actually write whole applications of 20-100Klocs. However, that's exactly what happens. People judge a scripting language based on its limitations to the extreme ends -- how much overhead is involved in the interpretor for "hello world", and how large a program can I really build just relying on the built-in libraries and still be fast enough to be useable.

    As for C-like embedded scripting, ECMAScript is darn close (some java-like things such as some OO support, and every object has toString()), and Mozilla has embeddable interpretors of their Javascript implementation for both C and Java. I prefer ECMA/JavaScript 'cause of its OO. Its not secure encapsulation (e.g., "information-hiding"), but it at least gives me encapsualtion.

    Mind you, I'm still in the reading-stages of learning [PJ]ython, 'cause I haven't had the time to really write something yet.
    --
    You know, you gotta get up real early if you want to get outta bed... (Groucho Marx)

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
  130. Why do we need another (scripting) language? by Angst+Badger · · Score: 2
    Even asking the question betrays some mental habits I wouldn't be comfortable admitting that I had. The answer, of course, is choice. The corresponding question, "Why doesn't everyone use my favorite language?" is also easily answered: Everyone isn't like you -- or anyone else.

    Personally, I love C, and I think any language that doesn't give you pointers and low-level control with the accompanying ability to shoot yourself in the foot if you don't pay attention is an underpowered piece of crap. That is, however, just my personal opinion based on my own history and needs, and I don't expect everyone else to adopt it. I certainly don't go running around every time a new language comes out asking, "Why do we need a new language? We've already got C!"

    Conformity is a wretched mental habit. It may have its uses in a business environment, but I'd think the Slashdot crowd, if no one else, would be clued into the fact that some people program for pleasure, too. You'd also think that programmers would have a better understanding of the pleasure that comes from successfully doing something difficult.

    --

    --
    Proud member of the Weirdo-American community.
  131. CSS bashers totally miss the point by joneshenry · · Score: 2

    CSS bashers should have taken the time to click on the link to IBK. This software is not done on a lark, it appears to be an integral part of Peter Koch's business. Thus it is insulting to insist that the developer should have spent his energies on a more worthwhile project--his energies are being spent directly on his business. Looking at the technical aspects, his porting to OS/2, Windows, and Linux appears to tie in with the other product advertised on the IBK webpage, the Business Process System. Thus people who bash the developer for releasing a "new language" are totally missing the point--this developer has chosen to make available to the entire community his knowledge under the GPL. Hopefully this will reflect back to him in increased publicity and business contacts. The release of CSS is an increase to the community. Had the developer been discouraged from releasing, he would have had no incentive to have contributed to any other project.

  132. Re:Turing equivalence? by SurfsUp · · Score: 2


    #warning this program considered harmful

    #ifndef foo
    #define foo 0
    int main (void) { return 0; }
    #endif

    #if (foo == 0)
    #undef foo
    #define foo 1
    #include "foo.c"
    #elif (foo == 1)
    #undef foo
    #define foo 2
    #include "foo.c"
    #elif (foo == 2)
    #undef foo
    #define foo 3
    #include "foo.c"
    #endif

    --

    --
    Life's a bitch but somebody's gotta do it.
  133. Re:Turing equivalence? by ksorim · · Score: 2

    It's possible to do iteration with the C preprocessor. One example of it is http://www.ioccc.org/years-spoiler.html#1995_vansc hnitz

    It is basically a file that #includes itself. Don't know if it's Turing complete though.

  134. Preferred languages by rjh · · Score: 2

    I prefer to write applications in Perl or Python, myself. Once the app is at a usable state, I run it through a profiler to see where the bottlenecks are. If the bottlenecks can't be opened up by tweaking the code and algorithm, then I code the bottlenecks in C or C++ and call them from Perl/Python.

    Code spends 90% of its time in the same 10% of code. So this technique actually winds up working pretty well.

  135. Register keyword... by rjh · · Score: 2

    Many compilers do honor the register keyword. They don't automatically store the variable in a register, but the variable does get marked as needing a high degree of optimization.

  136. Or like GNU's scripting-lang-in-programs, GUILE? by devphil · · Score: 2


    The only thing I don't particularly care for about GUILE is that it's a bit LISPish... still.

    --
    You cannot apply a technological solution to a sociological problem. (Edwards' Law)
  137. Re:Not to nitpick... by Dwonis · · Score: 2

    Heh. I thought you meant Top-Level Aggregation identifiers. There are only 2^13 of those. 8-)
    ------

  138. Re:How? And what's the point? by Dwonis · · Score: 2

    Would you prefer to use Perl as a general-purpose language?
    ------

  139. Re:How? And what's the point? by Dwonis · · Score: 2

    Learning curve.
    ------

  140. Turing equivalence? by volpe · · Score: 2
    In C++, the preprocessor by itself is a Turing environment

    Huh??? The pre-processor has no concept of iteration. I.e., you can't loop. Please provide some proof, or cite some reference, which shows that the C++ preprocessor (just C++? is the C preprocessor substantially deficient relative to C++?) is equivalent to a Turing machine.

    1. Re:Turing equivalence? by Laplace · · Score: 3
      The Template Metaprogramming mentioned in other posts illustrate the power of templates. While there may not be a facility for looping in the "linear iterative process" (see "Structure and Interpretation of Computer Programs for a definition) sense, there is in the "linear recursive process" sense. What happens is the proprocessor expands the templates. If a template has a template as a parameter, the embedded template is also expanded. This continues until an atomic (terminating) parameter is passed or until the preprocessor runs out of steam. Of course, for this to work on compilers like gcc, you need to increase the -ftemplate-depth-xx to obscene values. Since the preprocessor expands the code into new, legal, C++ code, you can write very fast loops. This is because the loop is unrolled, and you have explicit code (that the preprocessor wrote from your instructions) that usually smokes its competitors. Now for the obligatory link: Go to the Blitz++ web page to see a nice example (and some interesting papers on the subject).

      The thing I find amusing about this is that languages like Lisp provide this exact functionality without the truly cryptic syntax (although you could argue that parentheses are replaced by angle brackets).

      --
      The middle mind speaks!
    2. Re:Turing equivalence? by ryants · · Score: 3
      > Please provide some proof, or cite some reference

      Well, you can do template metaprogramming, but I believe it involves a little more than just the preprocessor. For example:

      template < unsigned N > struct Fact
      {
      enum { Val = N * Fact < N - 1 >::Val };
      };

      template <> struct Fact < 1 >
      {
      enum { Val = 1 };
      }

      #define FactT( n) Fact < n >:: Val

      Conforming compilers will reduce FactT(5) to a constant.

      References:

      * Chapter 1.2 of "Game Programming Gems" (that's where I got the example from)
      * "Using C++ Template Metaprograms", C++ Report, May, 1995

      Pretty whacky eh?

      Ryan T. Sammartino

      --

      Ryan T. Sammartino
      "Ancora imparo"

    3. Re:Turing equivalence? by Jennifer+E.+Elaan · · Score: 3
      This is actually in reference to the C++ template facility, not the old carry-over C preprocessor that is left in the C++ environment. The template system can actually do some looping if you're careful, it has to do something with using recursive template calls with an end-cap, similar to how you do loops in M4.

      I saw a paper a while back on numerical computing (I tried to look it up, but alas, I don't remember enough of it) that used these kinds of tricks to do all kinds of neat numerical analysis while compiling. Strange use of templates.

      -- Blore's Razor:
  141. Re:Nice troll by volpe · · Score: 2
    (e.g. compiling "if (a=b)" as "if (a==b)" because of course he "meant ==").

    Yes, but in a well-designed language, "a=b" and "a==b" wouldn't both be completely legal and yet have completely different meanings.

  142. Re:C doesn't make a good script lang. by Inoshiro · · Score: 2

    "I took a quick walk around the manual and checked out some of the examples, but it seems to me that C (or C-like languages) just aren't all that suitable for scripts. "

    Gee, it's a good thing PHP doesn't look at all like C, or have stdlib like fuctions, eh?
    --

    --
    --
    Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
  143. Re:Not to nitpick... by Amokscience · · Score: 2

    Same reason Javascript and Java have similar names: to steal existing Mindshare.

    I love acronym abuse and polution! I would have thought intelligent people could avoid such unexcusably stupid decisions.

    --
    Fsck cluebie moderators. I'll say what I want, offtopic or not. And fsck having to qualify every bloody statement just
  144. Don't need any more interpreted languages by Greyfox · · Score: 2
    Intercal is the ultimate interpreted language. We don't need any others.

    Your assignment for next week is to try to convince your boss to rewrite the entire project in Intercal.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  145. Re:Not to nitpick... by portege00 · · Score: 2

    Not to mention the MPAA's favorite CSS... It's kind of like George Foreman naming all of his kids George. It works for him, but it confused the hell out of everyone else.

    --
    Trolls make great pets. Adopt one today!
  146. Re:C doesn't make a good script lang. by jbarnett · · Score: 2


    You CAN use (more or less) exact C syntax in your perl scripts (all but the declaring, and libs part)... If you know C, you can move to Perl in the matter of 1-2 hours.


    --

    "`Ford, you're turning into a penguin. Stop it.'" -THHGTTG
  147. Use the tool for the job... by clary · · Score: 2
    Fair enough? But which language would you prefer?
    I know I am putting my head up for the turkey shoot here...but I have really become a Java fan in the last three years for general applications, and especially enterprise software.

    Of course, if you are writing a device driver or something that has to milk every last cycle and use memory like it is gold, then use C, or even assembler.

    If you just need to prototype some forms in a few minutes (dare I say it?) break out icky old VB.

    Anyway, as a C developer for most of a decade, and then a C++ developer for a half-decade more, I have been totally spoiled by Java. Let me count the ways...

    I haven't had to chase a runaway pointer for years. Pure interfaces and runtime class loading make it easy to move beyond traditional object-oriented development to "component-based" development with pluggable component implementations. Exception-handling works. (I know, that is an implementation issue, not a gripe against C++ itself. But using MSVC on Windows 5 years ago, we didn't dare try and catch.) It is much easier to make puns with "Java" than with "C" or "C++."
    --

    "Rub her feet." -- L.L.

  148. Re:C doesn't make a good script lang. by proxima · · Score: 2

    True, in Perl you don't have to declare variables. But good Perl programming is done with "use strict". I'm not an expert Perl programmer, so correct me if I'm wrong, but "use strict" requires programmers to be a little more careful to prevent errors. Variables must be declared in scope (global or local with my), along with other restrictions. Granted, you don't have to declare a datatype (other than indicate it's a scalar, array, or hash).

    The things that seem to make Perl a great scripting language is that the syntax is moderately human readable (though it does have many symbols that can be confusing to newcomers). Also, Perl has great modules for CGI and text parsing, so that programmers don't have to reinvent the wheel. This makes many common CGI tasks a snap in Perl, while it may be more difficult in C (or a C scripting language).

    --
    "The universe seems neither benign nor hostile, merely indifferent." --Carl Sagan
  149. CSS in artificial neural network software by dieZeugen · · Score: 2

    The CSS scripting language is a intergral part of the PDP++ Neural Network software. I currently use PDP++ for research any find that CSS is a very convenient way to setup and run simulations. This is opposed to other large ANN packages such as the Stuttgart Neural Network Simulator (SNNS) which uses its own scripting language that is a mix (or rather mess) of awk, Pascal, Modula2, and C. So I don't have to learn a new language to use my software. Also, PDP++ is a completely object oriented and you can manipulate the objects in the system very effectively with CSS. However, I wouldn't (and don't) use CSS for everyday scripting tasks. If you want to embed a fairly robust scripting language with familiar syntax into your systems then CSS is the ticket, otherwise stick with Ruby or Perl.

    -- DieZeugen

    --
    - remove the primate to mail
  150. But why? by ZanshinWedge · · Score: 2

    Aside from the issues surrounding yet ANOTHER computer related technology named CSS (cascading style sheets and content scrambling system (DVDs)) what exactly is the advantage to a c-like scripting language? It would seem to me (and to anyone who had done a substantial amount of scripting and C programming) that the entire philosophy and modus operandi of C and scripting languages are completely and utterly different. Moreover, what precisely is wrong with the (myriad) scripting languages we have now? Are there those who cannot find something among bourne shell, awk, sed, perl, python, and others that they can understand and use? Perl 5 is about as easy a language to learn as exists, and Python is about the same. I don't see a valid niche where this new beast might make a happy living. It's simply redundant and unnecessary.

  151. Re:Well, don't use it, then! by DickBreath · · Score: 2

    It seems to me that the primary purpose of making a new general purpose language (scripting or compiled) should be to improve on what has come before.

    Therefore a new language may differ significantly from past languages.

    Does CSS offer any significant new advancements? If not, then why bother? We have plenty of scripting languages. Some bad, and some excellent.
    --
    "Linux is a cancer" -- Steve Ballmer, CEO Microsoft.

    --

    I'll see your senator, and I'll raise you two judges.
  152. Re:Pascal is THE scripting language for UIs by DickBreath · · Score: 2

    I agree.

    Today, there is no wisdom to use Pascal as the only teaching language -- and I wouldn't even make Pascal a major focus.

    One could argue, Pascal is still good in teaching environments where you want to compile to native code. Although there are other, but less popular choices, such as Modula-2.

    By the time students reach the stage where they write performance critical code (i.e. calculate the mandelbrot set), they can probably use C/C++ or something mainstream.
    --
    "Linux is a cancer" -- Steve Ballmer, CEO Microsoft.

    --

    I'll see your senator, and I'll raise you two judges.
  153. Wierd. by percey · · Score: 2

    As convenient as it must be for die hard C programmers to write shell scripts in a C like language, honestly it would seem to me that they could pick up perl in a day and any shell scripting language in a couple of hours. In fact I would be shocked if they haven't already. And as much as I appreciate the freedom of innovation that people think they have creating new programming languages, just because they found another way to spell FOR doesn't mean they have the right to give birth to language. The people who are coming up with these web languages and scripting languages that pop up on freshmeat probably dream of the day when their language has their own O'Reilly animal/vegatible/other book. But do they really make the computing world a better place? Sure some languages with good ideas can start from no where and build momentum, like PHP for example. But it was innovative for its time, with its preprocessor inside of apache. And then it kept on innovating. Rebol is another example, probably the easiest language to get accustomed to, ever. You can change the language to your own syntax. That's some kind of an advance. That's what really needs to be the test for a new language. If you're not doing something new then what's the point? Personally I'm waiting for ASM-shell, why use perl to do assembler's work. Perhaps I'll try to write it myself. Then maybe someday I can get the chupacabra on my language's O'Reilly Book.

  154. Pascal is THE scripting language for UIs by ahfoo · · Score: 2

    I hesitate to make this comment on Slashdot, but since this crayon character brought it up. . .
    Pascal predates C by decades and its maturity is obvious to anyone who uses in for any length of time. As we all know, the orignal Mac up to System7 was done in Apple's ObjectPascal and there are still various development tools that rely on Pascal based scripting including Borland and several other Windows based development environments.
    I'm not saying Pascal is better than C all around, but when it comes to scripting a user interface that simply calls upon functions written in a lower level language, I can't see the point of using anything else other than simple ignorance of the alternatives.
    In educational multimedia, Pascal is king. This is an ugly market to a lot of slashdotters as it is a market where a lot of content experts rather than nerd-core geek "programmers" publish software with emphasis on ease of use. But if Linux is to really take market share from MS in the education market, there will have to be better Pascal-based development tools for making quick and easy user interfaces.
    So, yeah, this idea sounds like a misguided student project which further underscores my point about getting better multimedia scripting environments for Linux into education.

    1. Re:Pascal is THE scripting language for UIs by DickBreath · · Score: 3

      I've never understood the wisdom of using Pascal for teaching.

      The wisdom of using Pascal for teaching was before there were Modula-2 and Oberon.

      Pascal was a great teaching language when there was Fortran and C. Late 70's, early 80's.

      Vendors extended Pascal enough to make it commercially useful. Thus creating many incompatible dialects.

      Modula-2 corrected many Pascal mistakes. But by that time C had achieved a lot of mass on the PC.

      A serious Pascal design mistake that Modula-2 corrected (and C did correctly already) was NOT to design I/O primitives into the language, but rather make them part of the standard library.

      As for today, there are far better teaching languages. Most young 'uns today were wearing diapers when some of us were learning Pascal/C/Modula-2/MS-DOS/Lisa/Macintosh, etc.
      --
      "Linux is a cancer" -- Steve Ballmer, CEO Microsoft.

      --

      I'll see your senator, and I'll raise you two judges.
  155. Other scripting languages for MS Windows by Futurepower(tm) · · Score: 2


    For scripted control of setup and execution of Windows programs, including tasks in DOS windows, C Styled Scripting seems excellent.

    Auto-It does this, and it is free, but it is not open source: http://www.hiddensoft.com/AutoIt/

    Wilson WindowWare's WinBatch does this, and it is comprehensive, but it is not-free shareware, not open source, and I have had problems with poor documentation and poor technical support: http://www.windowware.com/


    Question: People who write open source software often pick poor names for their work. Why is that?

    --
    Bush's education improvements were
  156. Re:Not to nitpick... by Omerna · · Score: 2

    Maybe we could stay with the 'C' language concept of adding plusses to change the name. This would be:

    CSS++

    Has a nice ring to it.

    --


    No sig for you.
  157. This language should be moderated -1: Redundant by hobuddy · · Score: 2
    What does this add to Hey, if C were appropriate for scripting, people would use it that way. Why won't these folks just let systems languages be systems languages, and scripting languages by scripting languages?
    --
    Erlang.org: wow
  158. Shouldn't have GPLed it by geomcbay · · Score: 2
    This isn't a flame of the GPL in general, just the realities of the world given this type of software. Something like this should probably be released with a more general license. LGPL, if you want to stick with the GNU crowd. How many *successful* embeddable-focused GPLed scripting systems are there? Uhm, none.

    Of course, in the end the choice of license is completely up to the author of the software... so be it.

  159. Re:C doesn't make a good script lang. by ryants · · Score: 2
    I'm not an expert Perl programmer, so correct me if I'm wrong, but "use strict" requires programmers to be a little more careful to prevent errors.

    This is certainly true, but having to do such thing all the time would be a drag... if I'm writing a PERL script that is going to be around for a while and maintained by others, I usually go with "use strict". If I'm just writing a quick one-off to do some specific data munging (or whatever), I can be as sloppy as I want. I suspect this CSS won't be as forgiving.

    Anyways, maybe "not having to declare variables" was a bad example. Perhaps a better example would be more natural reg. exp. usage in Perl and Python, whereas this CSS seems to make use of a clumsy library, and other areas where Perl and Python have things "built in" that this CSS doesn't.

    Ryan T. Sammartino

    --

    Ryan T. Sammartino
    "Ancora imparo"

  160. Re:or use a sane compiler... by sharkticon · · Score: 2

    Errrm, "is" not the same as "==" in Python in all cases. "==" will check for equality, "is" checks to see if they are the same thing. When you're talking about objects, there is a difference.

    --

  161. new from copyleft.org! by PicassoJones · · Score: 2

    I can't wait for my tee shirt featuring DeCSS in CSS!!

  162. So many scripting languages... by gnovos · · Score: 2

    Wow, it looks like another scripting language is coming out every couple of months, I'm amazed! I wonder just how long it will be before they run out of compiled languages to mimic and they start making hybrid scripting languages. I can see the articles headlines now: "Visual Pyavel Basic++ combines the flexibility of Perl, the power of Python, the simplicity of Java, the comment syntax of Visual Basic, and a few operator overloading doohickeys from c++ (just for good measure) to make the world's ultimate scripting language! Get your copy today (Warning, a source code download is only available through CPAN#...)"

    --
    "Your superior intellect is no match for our puny weapons!"
  163. Re:How? And what's the point? by mcpkaaos · · Score: 2

    You've brought up a valid point, but I believe you are hedging a little too closely on the differences between scripting and engineering. Both require different skill sets (though many an engineer knows scripting and vice versa), so you can hardly compare the [dis]advantages of either a scripting language or a truly compiled language (like C/C++). For example, how would you hope to write a device drive in Perl? Or why would you bother to write a basic parsing utility in C? Truth be told, C and C++ are the finest languages for programming ever implemented (notice I didn't say conceived).

    With languages as complex and daunting as these, it's up to the coder to get a handle of things. They don't pay us upwards of 6 figures for nothing. I find it interesting, by the way, that you mention C/C++'s intolerance for error. In C there isnt' much you can do aside from check for NULL pointers, etc in hopes of catching situations before they go awry. I'll give you that. In C++, however, we're given a rather robust exception handling mechanism. The only chore involved is learning how to properly use it (and in my time I've noticed few engineers truly do.) Additionally, in C++, your annoyance with pointers are solved by references.

    I can tell, however, that you haven't spent much time in assembly. You'd probably bust a vein in your forehead over ASM's intolerance for errors.

    Honestly though, you'd be hard-pressed to find any language better suited for a good 99% of all software development problems (and I'm not talking about pretty GUI driven database apps). :D

    -[McP]KAAOS

    --
    It goes from God, to Jerry, to me.
  164. The more the merrier, I say by MarkusQ · · Score: 2
    And as much as I appreciate the freedom of innovation that people think they have creating new programming languages, just because they found another way to spell FOR doesn't mean they have the right to give birth to language.

    Having lived through the little-language-dark-age (call it mid-eighties to early nineties), when it sometimes seemed like C and BASIC would drive out everyone but Chuck Moore, Ralph Griswold, and few Lisp hackers holed up on a farm in Montana, I am glad (no, strike that, I'm ecstatic) to see all the effort going into new (and sometimes not so new) languages. Carl, Larry, Guido, Peiter, and the thousands of others whose names don't spring to mind at this instant have my heartfelt gratitude. Personally, I'd much rather live in a chaotic world of plenty where, no matter how I want to spell "FOR", there's a language for me.

    -- MarkusQ

  165. Anyone old enough to remember by blang · · Score: 2
    one of the major holy wars on Usenet a few years ago:

    csh considered harmful? Is this a reincarnation of the C-shell, but now we can run it everywhere? Good Ole' Bill Joy will be happy.

    OK, I'll admit I didn't read the article, and I bet it has nothing to do with the infameous csh, but I'd thought I'd mention it anyways.

    --
    -- Another senseless waste of fine bytes.
  166. Giant Step Backwards by gnugeekus · · Score: 2
    I read the sourceforge pages on "CSS" and I can find no compelling reason to switch to this language for scripting over any of the excellent scripting languages that already exist. It does not have any unique compelling features that I can see, other than "it looks like C".

    There are already so many scripting languages available that a new one needs to offer some compelling feature. I'm running down the list of "CSS" features..

    C syntax: Not really a feature. If you are a C programmer I suppose having something familiar is a bonus however.

    Sophisticated error handling by exceptions - Perl, Python, and Ruby already have this.

    High performance database libraries - Perl already has the very sophisticated DBI database interface. Python is at version 2.0 of its database API specification. A DBI interface is currently in development for Ruby.

    Automate regular tasks or build application benchmarks with the outstanding windows control library: Perl, Python, and Ruby already have good windows integration.

    Develop libraries to meet your special requirements using your favorite C/C++ compiler: Perl, Python, and Ruby can all be extended via C and/or C++

    Develop libraries to meet your special requirements using your favorite C/C++ compiler: Ruby is embeddable in C applications. Python is embeddable in C and Java applications. Perl is weak in this area, but I believe Perl 6.0 is supposed to be easily embeddable.

    Write CGI programs for your web server: You can write CGI in numerous scripting languages already. In addition, mod_perl allows you to directly access Apache's module API to write extensions to Apache itself. Then of course there is PHP although I do not consider PHP a general purpose language. Pike / Roxen is a viable contendor in this area as well.

    A major feature that I see missing in "CSS" is OOP. Python and Ruby, two of the newer generation scripting languages, have very powerful OO features. Ruby is object pure... everything in the language is an object that is extendable down to basic types like strings and integers (similiar to smalltalk).

    From my perspective using "CSS" instead of one of the next generation scripting languages (Python and Ruby) is a giant step backwards. In addition, the old mainstay Perl is a very mature language with an unparalleled library of available modules for it. What is the incentive for using "CSS" other than the novelty of having a C like syntax?

    By the way, the name "CSS" was a HORRIBLE choice.

  167. Re:How? And what's the point? by kinkie · · Score: 3

    Take a look at Pike, it's been covered here in the past.
    It has a c-like syntax, it has the preprocessor, and it has classes (full OOP), functional programming if you want, a nice runtime library. It doesn't have pointers, but it has references (no arithmetics though), and high-level constructs for strings, sets and associations. It does manage memory quite fine (refcount + garbage collector) and you can make it as pedantic as you want, even not at all (just use the mixed type everywhere).
    This said, you won't get rid of the C syntax anytime soon. It has an advantage over most other syntaxes one can come up with for an imperative language: it's concise. And if used with some discipline, it can be very readable which is one of the most important requirements for a programming language. By adhering to a c-like syntax, any other programming language can be instantly readable by a lot of people.

    --
    /kinkie
  168. Well, don't use it, then! by jcr · · Score: 3

    The purpose of making one language similar to another is to shorten the learning curve of the second language. That's why we have the C shell, and its also why Java looks so much like (bleah) C++.

    Now, I have no use for another C-like scripting language, but who says this language has to fit *my* needs to justify its existence?

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  169. Boycott CSS! by Louis+Savain · · Score: 3

    The world does not need another scripting language. Enough is enough!

  170. Re:C interpreters by Amokscience · · Score: 3

    Embedding scripting language into programs... you mean like SWIG?

    http://www.swig.org/

    --
    Fsck cluebie moderators. I'll say what I want, offtopic or not. And fsck having to qualify every bloody statement just
  171. Re:How? And what's the point? by Pedrito · · Score: 3

    Choice of programming languages comes down to what fits your needs and what fits your skills.

    I've been programming in C++ for 7 or 8 years, and find it to be fantastic for expressing what I want to produce. I find it much easier to write code that's easy to debug and maintain than any other language I've ever dealt with.

    Now, granted, a lot of that is due to a very detailed process that we go through before even writing the code, but well designed C++ systems can be quite easy to maintain.

    I've written several large systems in C++ and found it to be very easy to maintain and debug. My last major system had over 150 classes in a very well designed architecture. Although more than 30 people were involved at various times during it's implementation (over a 5 year period), in the end, there were two of us maintianing it and adding new features. And when I say new features, I'm talking about major additional functionality.

    Now, could Java do what this system did? Yes, but probably not at the same speed. This was a very mathmatically intensive system. It modeled cellular telephone networks (the antennas at base stations as well as the mobile phones).

    I still like C++. I like it a lot. It has made my life much easier. Until I find a language that's going to make my life easier, I have no intention of changing.

    That said, is C++ the best language for every task? Of course not, and I certainly don't use it for web scripts. Everyone has their own reasons for choosing a language, though, and as I'm very C++ oriented, a C style scripting language would probably be very easy for me to adapt to. Perl sure as hell wasn't easy for me to adapt to.

  172. CSS by portege00 · · Score: 3

    Am I the only one who's going to look at people funny now when they say CSS. Do they mean Cascading Style Sheets, or this? Argh, the headaches! CSL would've been better: C Scripting Language. Hey, that's practicality!

    --
    Trolls make great pets. Adopt one today!
  173. Already done -- CPR by paulschreiber · · Score: 3
    take a look at this article on perl.com.

    you'll see that Inline::CPR lets you do this.

    #!/usr/bin/cpr
    int main(void) {
    printf("Hello, world\n");
    }

    tada! interpreted C.

    Paul

  174. Small, the C scripting language. by YakumoFuji · · Score: 3
    I've been using 'Small' for a fair while now, here

    from the site;

    Small is a simple, typeless, 32-bit extension language with a C-like syntax. A Small "source" program is compiled to a binary file for optimal execution speed. The Small compiler outputs P-code (or bytecode) that subsequently runs on an abstract machine. Execution speed, stability, simplicity and a small footprint were essential design criteria for both the language and the abstract machine.

    • Small is a simple, C-like, language.
    • Small is a robust language with a robust compiler.
    • Small comes with an implementation of an abstract machine in portable C. The abstract machine is a set of C functions that you can easily link to an application or function library. By compiling the source code to P-code for an abstract machine (or "virtual machine"), Small is much faster than pure interpreters.
    • Small has a good interface to native functions (in C/C++); your application calls functions from -Small programs, Small programs call functions from your application.
    • Small is a 32-bit language, even when compiled with 16-bit DOS tools.
    • For porting purposes, Small is written in ANSI C as much as possible; Big Endian versus Little Endian is handled. -Small is quick (especially with Marc Peter's assembler implementation and/or his "just-in-time" compiler) -Small is, er..., small.
    • Small is free and it has a liberal license (you may use it for commercial applications, and you may also freely distribute modified sources or binaries ---though you take responsibility for those modifications).


    Write your Own Operating System [FAQ]!
    --

    no sig for you
  175. Just use PHP... by Rambo · · Score: 4

    Why do we need yet another C-like language? I use PHP now for virtually everything (using the CGI version so you can write standalone scripts) It's great for little one-off scripts or whatever. Another C-interpreter type project is EIC, which is actually extremely close to standard C. It works well for most programs you don't want to constantly recompile.

  176. So what's new? by Argon · · Score: 4

    C interpreters have been around for a long time. Have a look at Scripting with C.

  177. Moderation??? by Compuser · · Score: 4

    Why is this comment rated "funny". The guy is
    proposing using GCC as a a just-in-time compiler.
    I was thinking of doing just that for an embedded
    app where you need users to script but you also
    need real-time code. OK, so maybe not with GCC,
    but the idea is valid and serious.

  178. #!/usr/bin/perl by rhet · · Score: 4
    Uhm, yeah. A cross platform scripting language distributed under an open license? It's called Perl. And if you really want C like syntax, there's always Inline::C and CPR.

    Seriously though, do we *really* need another scripting language? We've got perl, python, rebol, scheme, csh, bash, sh, ksh, [insert favorite scripting language here]...

  179. How? And what's the point? by rjh · · Score: 4

    Remember that C is a lot more than a language. A lot of people overlook one of the most important features of the language--namely, the preprocessor. In C++, the preprocessor by itself is a Turing environment; any computing task which you can think of, you can do in the preprocessor alone just by giving it some particularly weird templates to compile.

    How does a scripting language plan on implementing the preprocessor? If it doesn't, then should it really have "C-like" in the name?

    The other issue is... what's the point? I hate to tell people this, but C/C++ are two of the worst languages on the planet. I say this as a long-time C++ hacker and C++ enthusiast: the languages are awful. There are pointers all over the place, there's God-knows how many levels of indirection, there's detailed memory management... C/C++ are so powerful because they give you such fine-grained control over every aspect of the CPU. But they're cast-iron bitches to program in, because they're so intolerant of any error.

    Scripting languages, on the other hand, are inefficient. They're slow. But they're also wonderful to program in as a result--their syntax isn't as rigorous, there's very little memory management to be had, there's no need to know the difference between the register and auto keywords, or the difference an inline amd a macro.

    A C-like scripting language seems like the worst of both worlds. You've got the pedantic syntax and attention to detail of C, and the lackluster performance of a scripting language.

    What's the point?

  180. Re:C doesn't make a good script lang. by Erasmus+Darwin · · Score: 4
    you don't want to be bothered with such things when trying to write a quick one-off script.

    However, there are more uses for a scripting language than just quick one-off scripts. As mentioned in the article blurb, this language can be embedded within your own applications to provide scripting support.

  181. C doesn't make a good script lang. by ryants · · Score: 4
    I dunno. I took a quick walk around the manual and checked out some of the examples, but it seems to me that C (or C-like languages) just aren't all that suitable for scripts. Good scripting languages (like Perl and Python) tend to be "looser" (e.g. not having to declare variables) than C, and for a reason: you don't want to be bothered with such things when trying to write a quick one-off script. Not to mention the fact that Perl and Python form some pretty stiff competition in this sort of arena.

    Also, naming it CSS is pretty confusing, given that CSS already equals Cascade Style Sheets.

    Anyways, how can I get my SourceForge project on the front page of /.? :)

    Ryan T. Sammartino

    --

    Ryan T. Sammartino
    "Ancora imparo"

  182. Do it the right way by Waffle+Iron · · Score: 4
    Let's say you want your users to be able to script your application with the C language.

    If you're a pretender, you might write a wimpy interpreted version of C.

    If you're a real software architect, however, you'd #include the gcc source tree right into your app, compile the user's code on the fly, pipe the output into a memory-mapped file, and long jump straight into the results. Damn the torpedoes.

    Make no compromises on the performance of your users' macros. If they're worthy of your program, they need the speed. If they're not worthy, they'll write some lame pointer bug and dump core; I say good riddance to those lusers.

  183. RTFLanguageDescription by jbuhler · · Score: 5

    Several of the complaints posted here about how awful C is as a scripting language indicate that people aren't actually reading the language description for CSS. Among other things:

    * Variables must be declared but are untyped.
    Like Tcl, everything appears to be a string.

    * There are no pointers (though there are
    call-by-ref parameters).

    * There is no memory management, though there
    is a way to dynamically change the size and
    dimensions of an array object.

    * There are some extensions, such as
    exception handling and string concatenation

    * There is no "goto" construct.

    * There is a limited preprocessor facility
    (#ifdef equivalents, but no macros).

    Overall, it looks like a rather nice embedded scripting language, though it's not nearly as cool as embedded Scheme :-).

  184. C interpreters by YoJ · · Score: 5
    People seem to be down on this language, so I'll go for the positive spin. After a couple minutes of browsing the manual, it looks like a cool language. It is the sort of thing you add to your program to give it a scripting language. The advantage of CSS is that it is easy to learn if you already know C (or Java). C isn't the most suitable language for scripting, and they didn't use C directly. Variables are typeless (I think), it has automatic memory allocation, etc. Of course, my favorite scripting language of all time is Lua (check it out).

    Here's something I would like to see: an interpreter for C code that follows exactly what gcc would do. Then you could make a nice GUI environment for programming, where everything happens as you type it with no compile cycle. Then at the end you compile everything to get speed.

  185. I am by volpe · · Score: 5
    And I tried to post a copy of the flamewar, which I had saved years ago. But the quality piece of software that is Slashdot replied thusly:
    Easy does it!

    This comment has been submitted already, 276100 hours , 12 minutes ago. No need to try again.

  186. Re:Not to nitpick... by sconeu · · Score: 5

    Will my computer explode if I write DeCSS in CSS?

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  187. Not to nitpick... by crashnbur · · Score: 5
    ...but we have enough "CSS" already. Cascading Style Sheets seems to be widely accepted. Why name a programming language, or whatever this new CSS is, something that already exists?

    Or am I just blind to some bigger picture?