Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Thoughts On The Pike Programming Language?

Posted by Cliff on Sat Jun 03, 2000 03:26 PM
from the what-do-you-think? dept.
bilboyablan asks: "Ive stumbled upon the Roxen Web server , mostly implemented in the Pike programming language. I got curious about Roxen, but even more about Pike, and it seems to me like a quite solid scripting OO language, with a C-like syntax, and with a quite good documentation (user manual) to boot. So it seems intriguing to me why Pike hasnt gotten a wider acceptance. So, if some of you fellow Slashdotters have had any experience with Pike (outside of Roxen), could you maybe drop a few lines on it? "
This discussion has been archived. No new comments can be posted.
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2 | 3 | 4
  • Pike? by stevarooski (Score:1) Saturday June 03 2000, @10:30AM
  • by moibus (77968) on Saturday June 03 2000, @10:32AM (#1027659) Homepage
    Pike has Gtk bindings too and my (limited) experience with them has been good. Seems like a pretty cool language. There's a good Pike resource site at http://www.pike-community.org/ [pike-community.org].
  • Yeah, but what does it have to offer? by ZanshinWedge (Score:2) Saturday June 03 2000, @10:32AM
  • pike rocks by ZxCv (Score:2) Saturday June 03 2000, @10:33AM
  • Haiku (Score:3)

    by 575 (195442) on Saturday June 03 2000, @10:34AM (#1027662) Homepage Journal
    Hark, one more language
    A powerful new system
    Named after a fish
  • Interesting... by gordyf (Score:2) Saturday June 03 2000, @10:35AM
  • Re:Haiku by pboulang (Score:1) Saturday June 03 2000, @10:39AM
  • Windows support by alleria (Score:2) Saturday June 03 2000, @10:40AM
  • Re:Pike? by ZxCv (Score:2) Saturday June 03 2000, @10:40AM
  • no like pike - like roxen by pawal (Score:1) Saturday June 03 2000, @10:40AM
  • Pike -- too low level by Jonathan (Score:2) Saturday June 03 2000, @10:42AM
  • Re:Haiku by 575 (Score:1) Saturday June 03 2000, @10:43AM
  • Pike (Score:4)

    by roman_mir (125474) on Saturday June 03 2000, @10:46AM (#1027670) Homepage
    When C was introduced it quickly won the hearts of computer programmers as a high level language that still feels like a low level one (close to Assembler memory management.) It was not like Fortran, Ada or Basic, it allowed something that was never there before C. We have C++ that can do all that C does, we have Python and Perl that can do somethings in more convenient ways, there is Java and VB etc.
    How easy is it to introduce a new language that will catch up with the masses? Java and Python are good examples of such languages. Java allowed many programmers do what C++ does in the sence of OO but easier to learn, Python has the power of Perl plus it allows use of other language libraries. These are clearly improvements (no I am not saying Java is better than C++, I am saying there was (is) a market for this language for those who want some (not all) power of C++ and they want it fast and easy to learn).

    Maybe in order for a language to become widely accepted it must present something new from marketing point of view not only from functional point of view.
    Still it is not impossible that pike will find its own audience. How many of you use ML, Prolog, Lisp or Scheme in your everyday life? But these languages have their own purpose, their own market niche, mainly AI R&D.
    If Pike has something new to offer, it'll be used.
  • Are you blind? (Score:3)

    by ZxCv (6138) on Saturday June 03 2000, @10:46AM (#1027671) Homepage
    There is a Win32 binary download right there on the Pike download page. Granted, the install process wasn't your typical windows GUI install, but was nonetheless painless and simple. Good thing you checked it out before you said something.
  • by IronGorilla (77885) on Saturday June 03 2000, @10:48AM (#1027672) Homepage
    The world's largest amateur fantasy and sci fi art/writing site is powered by it. Every page is automatically generated by pike whenever one of the thousands of artists on board update their page. The URL is http://elfwood.lysator.liu.se [lysator.liu.se] and yes, I'm a member (though my gallery shall remain anonymous as my intention here is not to plug myself though I will say I joined when there was less than 100 people involved) and a voulentier staff member on the webpage.

    I'm not sure, but I THINK that Roxen and Pike were created at the Lysator computer club at Linkopeg university in Sweeden, who as you can see in the above link, are hosting Elfwood. The URL for the Lysator computer club is http://www.lysator.liu.se [lysator.liu.se] Of course, there's a high probability of me being wrong about that being where Roxen and pike came from.. but I seem to remember that's what someone told me.

  • Re:Haiku by elbuddha (Score:1) Saturday June 03 2000, @10:50AM
  • Re:Haiku by SeanNi (Score:2) Saturday June 03 2000, @10:52AM
  • by moibus (77968) on Saturday June 03 2000, @10:52AM (#1027675) Homepage
    How will you know until you investigate? It used to be that only M$ was "bankable" in terms of OSes. I'd hate to think what would have happened if noone just went and played with new stuff. Seems to me that an OO C-like scripting language with Gtk and lots of other bindings and modules is pretty interesting at least on the surface.

    Python offers alot of OO features but has a limitation I can't deal with: it considers indentation as syntax. Pike might make a better language for OO scripting than Python given its syntax.

    The point is that it's worth looking at and that innovation and new ideas, even if they turn out to be lame, shouldn't be swept under the carpet because "we've already got one of those." I would much rather see a discussion of the actual features of the language than questions like "what's the point?"

    (BTW I have no interest in Pike other than it looks pretty interesting and appears to already have alot of useful features)

  • by roman_mir (125474) on Saturday June 03 2000, @10:54AM (#1027676) Homepage
    well that is a strange statement. Most script languages are hard to use for those who do not know how to use them.
    Here is another one: Unix IS user-friendly, it just chooses its friends very carefully.

    Why are scripting languages hard to use? I use sh, csh, ksh, awk, sed, Perl, Python, jsp, asp and even Dos batch files in primitive basic. What is so hard about 'em?

    Translated languages under Unix/Linux have the same precedence level as compiled binaries (under DOS bat files are secondary). Translated languages don't even have to be compiled! It is true that I have not seing a good IDE for awk or csh but it does not mean the language is bad.
  • Re:Haiku by elbuddha (Score:1) Saturday June 03 2000, @10:55AM
  • Re:Are you blind? by alleria (Score:1) Saturday June 03 2000, @10:57AM
  • Just Like Perl! by dew (Score:2) Saturday June 03 2000, @11:04AM
  • Re:Haiku by Evangelion (Score:1) Saturday June 03 2000, @11:08AM
  • Reminiscent of LPC by HalB (Score:2) Saturday June 03 2000, @11:11AM
  • Re:A good example of Pike in action by IronGorilla (Score:1) Saturday June 03 2000, @11:12AM
  • Re:Haiku (Score:3)

    by webrunner (108849) on Saturday June 03 2000, @11:13AM (#1027683) Homepage Journal
    this is a bad haiku
    about pike because it doesnt follow the haiku syntax
    at all.

    ----
    Oh my god, Bear is driving! How can this be?
  • Re:Haiku by lisle (Score:1) Saturday June 03 2000, @11:14AM
  • Re:Haiku typo by Evangelion (Score:2) Saturday June 03 2000, @11:15AM
  • Re:Haiku by Evangelion (Score:1) Saturday June 03 2000, @11:17AM
  • Re:Pike? by stevarooski (Score:1) Saturday June 03 2000, @11:18AM
  • Re:Reminiscent of LPC by Redin (Score:2) Saturday June 03 2000, @11:20AM
  • Re:Just Like Perl! by Angst Badger (Score:2) Saturday June 03 2000, @11:22AM
  • Re:Haiku by 575 (Score:1) Saturday June 03 2000, @11:23AM
  • Re:Haiku by dgph (Score:2) Saturday June 03 2000, @11:27AM
  • That's not a haiku. by Wakko Warner (Score:1) Saturday June 03 2000, @11:38AM
  • Re:Haiku by mbell (Score:1) Saturday June 03 2000, @11:38AM
  • How is this by 348 (Score:2) Saturday June 03 2000, @11:41AM
  • Re:Pike sucks, Kirk kicks ass by kfort (Score:1) Saturday June 03 2000, @11:45AM
  • Re:Pike? by the_other_one (Score:2) Saturday June 03 2000, @11:47AM
  • Re:Just Like Perl! by perhe (Score:2) Saturday June 03 2000, @11:49AM
  • Re:That's not a haiku. by drivers (Score:1) Saturday June 03 2000, @11:53AM
  • Re:That's not a haiku. by isaac_akira (Score:2) Saturday June 03 2000, @12:00PM
  • My first hyperlinked Haiku by 575 (Score:1) Saturday June 03 2000, @12:00PM
  • Made in Sweden. by pibben (Score:1) Saturday June 03 2000, @12:00PM
  • Re:Haiku by Anonymous Coward (Score:1) Saturday June 03 2000, @12:06PM
  • Re:Scriptlanguages are bad by be-fan (Score:2) Saturday June 03 2000, @12:08PM
  • Re:http://www.ctrl-c.com/morons.html by cheese63 (Score:1) Saturday June 03 2000, @12:11PM
  • Too many languages? by mangu (Score:2) Saturday June 03 2000, @12:13PM
  • by 575 (195442) on Saturday June 03 2000, @12:20PM (#1027706) Homepage Journal
    There once was an impatient poster
    He cried out "That haiku's not kosher!"
    The rest of us pounced
    His poor ego was trounced
    Maybe next time he'll look a bit closer
  • Re:Haiku by jetpack (Score:1) Saturday June 03 2000, @12:23PM
  • by weisserw (121896) on Saturday June 03 2000, @12:24PM (#1027708)
    From "On Lisp" by Paul Graham:

    "Not so long ago, if you asked what Lisp was for, many people would have answered 'for artificial intelligence.' In fact, the association between Lisp and AI is just an accident of history. Lisp was invented by John McCarthy, who also invented the term 'artificial intelligence.' His students and colleagues wrote their programs in Lisp, and so it began to be spoken of as an AI language. This line was taken up and repeated so often during the brief AI boom in the 1980's that it became almost an institution."

    The truth is that Lisp (and its dialects) is an extraordinarily versatile and powerful language. It is suitable for just about anything, including operating system design (people have and are still writing great operating systems in lisp) and application programming (emacs anyone?), especially involving embedded scripting languages. The features which make Lisp unique (first class functions, lexical closures, powerful macros, etc. etc.) also make it able to adapt to practically any problem in computer science and solve it both elegantly and efficiently.

    Perhaps more than any other language, Lisp has taken a bad rap as of late, usually by people who haven't put any effort into learning it, or worse yet, people who have never tried it at all. I challenge those of you who took Lisp for granted as some sort of "AI language" to actually try it for yourself. At first you may find it awkward to adapt to Lisp's style of programming, but eventually you'll come to realize that the reason you felt awkward was because what you were doing before was not a very good method of programming or problem solving in general.

    -W.W.
  • Re:Yeah, but what does it have to offer? by Anonymous Coward (Score:1) Saturday June 03 2000, @12:30PM
  • Re:Haiku by Anonymous Coward (Score:1) Saturday June 03 2000, @12:32PM
  • Python does NOT have all of the power of Perl by tilly (Score:2) Saturday June 03 2000, @12:35PM
  • Re:Haiku by 575 (Score:1) Saturday June 03 2000, @12:37PM
  • Re:That's not a haiku. by belloc (Score:2) Saturday June 03 2000, @12:37PM
  • Re:Python does NOT have all of the power of Perl by bluebomber (Score:1) Saturday June 03 2000, @12:48PM
  • Re:That's not a haiku. by Donut2099 (Score:1) Saturday June 03 2000, @12:53PM
  • Re:Reminiscent of LPC by pingflood (Score:1) Saturday June 03 2000, @12:58PM
  • by tilly (7530) on Saturday June 03 2000, @12:59PM (#1027717)
    Trifles make perfection, and perfection is no trifle. -- Michelangelo

    Lambda expressions ain't closures.

    Tom Christiansen recently made the very interesting point that any programmer who has not been exposed to all of the imperative, objective, functional, and logical styles has one or more conceptual blind spots. In his words, "It is like knowing how to boil but not to fry. Programming is not something you master in 5 easy steps."

    Perl smoothly supports building real system in any and all combinations of those programming styles. This is no small feat, even if it wasted on most of the monkeys currently giving Perl a bad name by pumping out glorified print statements...

    Cheers,
    Ben
  • Re:Pike is an interesting alternative... by perhe (Score:2) Saturday June 03 2000, @01:00PM
  • About Pike. (Score:4)

    by Cedric Adjih (7170) on Saturday June 03 2000, @01:01PM (#1027719)
    I've just downloaded and played a bit with the language. Basically, if I understood properly:
    • It is in fact quite close to Java.
    • It has garbage collection (or is it reference counting ? I created some circular dependencies and it didn't seem to collect).
    • It has high level types: string, array, mapping, multiset. It has simple syntax for defining constants with those objects, and basic operation on them (like lists, dictionnaries, hashes in Perl or Python).
    • It has OO, looks less hackish than Perl, but just doesn't look as clean as Java. Is class-shared data possible ?
    • The variables have to be declared. It is not statically typed though, and it has a "mixed" type which is a placeholder for any type (something like Delphi's "Variant").
    • It tries hard to be like C. Exactly the same declaration syntax, operators, control flow structures. Worrying point: it also has the preprocessor.
    • It is probably less dynamic than Perl or Python (I couldn't set the method of one object to be another, at runtime).

    Basically it is closer to Java than to scripting languages because of the declarations. It might be simpler to use than Java if, for instance, you used the "mixed" type (can hold any object) everywhere, because you don't need casts ; it still looks heavier than Tcl, Perl or Python.

  • Re:That's not a haiku. by 575 (Score:1) Saturday June 03 2000, @01:06PM
  • Re:Python does NOT have all of the power of Perl by Chalst (Score:2) Saturday June 03 2000, @01:09PM
  • Re:Haiku by electricmonk (Score:1) Saturday June 03 2000, @01:09PM
  • Re:Python does NOT have all of the power of Perl by Cedric Adjih (Score:1) Saturday June 03 2000, @01:10PM
  • Re:About Pike. (Score:3)

    by perhe (196273) on Saturday June 03 2000, @01:20PM (#1027724) Homepage
    Pike has both GC and refcounting. The gc is run now and then to remove circular structures (when there is enough garbage to collect, basically, using heurestics) or when you call gc() explicitly.

    Class shared data is not possible as such, but you can write, as an example:

    class Shared
    {
    int a;
    int b;
    float c;
    }

    Shared shared = Shared();

    class DaClass
    {
    void use_shared()
    {
    write( "a is "+shared->a+"\n");
    }
    }

    You can access the parent scope in classes (and functions (and funtions in functions etc)

    It is closer to java than C when it comes to declarations and such, IMHO. It also has quite a lot of similarities to lisp. Not the syntax (even if map( array, lambda( int elem ) { return elem+1; } ) does look rather lispish) but the internals and some of the programming structures are closer to lisp than C.

  • About Pike - license issue. by Cedric Adjih (Score:1) Saturday June 03 2000, @01:22PM
  • Re:Lisp is NOT a functional programming language by Anonymous Coward (Score:2) Saturday June 03 2000, @01:27PM
  • Re:About Pike - license issue. by Anonymous Coward (Score:1) Saturday June 03 2000, @01:31PM
  • Re:no like pike - like roxen by eMBee (Score:1) Saturday June 03 2000, @01:32PM
  • Re:Haiku by h2odragon (Score:1) Saturday June 03 2000, @01:34PM
  • Re:Just Like Perl! by Me2v (Score:1) Saturday June 03 2000, @01:34PM
  • Re:Python does NOT have all of the power of Perl by mbaker (Score:1) Saturday June 03 2000, @01:35PM
  • Re:Pike -- too low level by eMBee (Score:1) Saturday June 03 2000, @01:35PM
  • by robla (4860) on Saturday June 03 2000, @01:43PM (#1027733) Homepage Journal
    Our entire website is powered by Roxen (and thus Pike). Having been indoctrinated in Perl and Python, I'll have to admit that when I first became a web developer here and took on learning Yet Another Language I was less than amused.

    However, I have to say that I'm impressed with the eye toward performance in Pike (most of the Roxen webserver itself is written in Pike), and the responsiveness of the maintainers when it comes to supporting the product.

  • Re:How is this by keffy (Score:1) Saturday June 03 2000, @01:45PM
  • Re:Pike by Kaufmann (Score:1) Saturday June 03 2000, @01:45PM
  • Re:Lisp is NOT a functional programming language by weisserw (Score:2) Saturday June 03 2000, @01:55PM
  • Re:Interesting... But off topic by Anonymous Coward (Score:1) Saturday June 03 2000, @01:58PM
  • pike history (was: Just Like Perl!) by eMBee (Score:1) Saturday June 03 2000, @01:59PM
  • Pike offers performance by robla (Score:1) Saturday June 03 2000, @01:59PM
  • Re:Windows support by Soch (Score:1) Saturday June 03 2000, @02:08PM
  • Almost void? I think not... by tilly (Score:1) Saturday June 03 2000, @02:08PM
  • Re:Haiku by 575 (Score:1) Saturday June 03 2000, @02:13PM
  • Re:Python does NOT have all of the power of Perl by Anonymous Coward (Score:1) Saturday June 03 2000, @02:14PM
  • Re:Yeah, but what does it have to offer? by Jeffrey Baker (Score:2) Saturday June 03 2000, @02:25PM
  • To mention a few things:
    • C-like syntax. Not a very important point, but when it comes to learning the language it's much easier than say Perl if you come from a C/C++ background. It's basically a highly evolved LPC (of LPMUD fame).
    • A very powerful Image package. Can load tons of formats natively including Photoshop (psd) and Gimp (xcf). Used by Roxen to do all kinds of graphics generation on-the-fly.
    • Powerful datatypes - mappings, multisets, shared strings. Nothing unique, but Pike's are very scalable. Also string handling is rather powerful.
    • Integrated bignum support. Pike 7 can handle arbritrary size integers without any special effort from the programmers point of view.
    • Very good and easy to use socket handling. Not strange since the main app written in Pike is a webserver.
    • Good object orientation, easy-to-use abstracted database handling, very nice GTK bindings and lots of more things I have forgotten about etc.

    Now to some drawbacks - we all know that everything isn't all good.

    • Shared strings, and datatypes in general, does have a memory overhead. Usually not noticable but if you deal with LOTS of short strings for example, you'll notice it. Nothing really unique to Pike though, but it's worth mentioning.
    • Not very wide spread usage and historically not very well documented. There are no Pike books, but there is a good tutorial now (check out http://docs.roxen.com).
    • Slower than C - can't be avoided. Slower and faster than Java (depending on what you do), sometimes slower than perl. Unfortunately I have forgotten the URL to the site that had benchmarks.
    • Less mature than some other languages. Syntax still changes, although backwards compatibility usually isn't major problem.
    • More things I'm sure. I just can't think of anything right now.

    I hope this is helpful.

  • Re:Just Like Perl! by TheInternet (Score:2) Saturday June 03 2000, @02:30PM
  • Re:Pike -- too low level by davidhedbor (Score:1) Saturday June 03 2000, @02:31PM
  • Re:Haiku by 575 (Score:1) Saturday June 03 2000, @02:38PM
  • Re:Reminiscent of LPC by davidhedbor (Score:1) Saturday June 03 2000, @02:40PM
  • Re:Interesting... But off topic by rifter (Score:1) Saturday June 03 2000, @02:41PM
  • Language performance comparisons(was:Yeah, but... by eMBee (Score:1) Saturday June 03 2000, @02:42PM
  • Re:Windows support by rifter (Score:1) Saturday June 03 2000, @02:43PM
  • Re:Yeah, but what does it have to offer? by FFFish (Score:2) Saturday June 03 2000, @02:47PM
  • Re:The Truth about Pike by porky_pig_jr (Score:1) Saturday June 03 2000, @02:53PM
  • Re:Lisp is *not* only for AI. by psj (Score:1) Saturday June 03 2000, @02:55PM
  • by jetson123 (13128) on Saturday June 03 2000, @02:56PM (#1027756)
    Pike, Python, Perl, Tcl, JavaScript, Ruby, etc. are all very similar: dynamically typed, byte code interpreted, procedural/OO languages.

    In addition, there is a plethora of interesting, powerful interpreters for languages that go beyond traditional scripting: EiC (ANSI C interpreter), CINT (C++ interpreter), Hugs/Haskell, CAML-Light, Scheme, Icon, CLisp/CommonLisp, Squeak/Smalltalk-80, etc.

    Next time you feel the urge to invent a new scripting language, think about doing something genuinely new, rather than coming up with a language that is merely an incompatible, incremental improvement of something existing.

    If you can't formulate some new idea that your language implements that isn't easily added to Python or Perl, I'd say, don't bother and work on one of the existing languages instead. Many of the existing languages need more libraries and better foreign function interfaces, and several of the existing languages would benefit from new implementations in C++ and/or Java, etc.

  • Re:Yeah, but what does it have to offer? by FFFish (Score:2) Saturday June 03 2000, @02:57PM
  • Why change for change's sake? by ffatTony (Score:1) Saturday June 03 2000, @03:12PM
  • Re:The fortune answers that better than I can... by gaw (Score:1) Saturday June 03 2000, @03:14PM
  • Re:Yeah, but what does it have to offer? by Anonymous Coward (Score:1) Saturday June 03 2000, @03:14PM
  • Re:Yeah, but what does it have to offer? by Amphigory (Score:2) Saturday June 03 2000, @03:15PM
  • Think "upgrade path"! by leonbrooks (Score:1) Saturday June 03 2000, @03:16PM
  • Re:Pike by gaw (Score:1) Saturday June 03 2000, @03:19PM
  • Re:too many scripting languages by eMBee (Score:1) Saturday June 03 2000, @03:21PM
  • GIMP EMACS SIAG Gnumeric etc etc by leonbrooks (Score:1) Saturday June 03 2000, @03:30PM
  • Re:Why change for change's sake? by eMBee (Score:1) Saturday June 03 2000, @03:32PM
  • Re:Python does NOT have all of the power of Perl by RedGuard (Score:1) Saturday June 03 2000, @03:36PM
  • OO is obsolete-- Hackers, use your brains! by Tom7 (Score:2) Saturday June 03 2000, @03:43PM
  • Re:Are you blind? by sholden (Score:1) Saturday June 03 2000, @04:02PM
  • Re:Haiku by balthan (Score:2) Saturday June 03 2000, @04:09PM
  • Whitespace as a matter of principle by Mr Z (Score:2) Saturday June 03 2000, @04:27PM
  • Pike & Roxen by Machina (Score:1) Saturday June 03 2000, @04:33PM
  • Re:Lisp is NOT a functional programming language by Anonymous Coward (Score:2) Saturday June 03 2000, @05:05PM
  • Re:Pike? Anonymous Coward by stevarooski (Score:1) Saturday June 03 2000, @05:06PM
  • Re:Another Haiku by slickwillie (Score:1) Saturday June 03 2000, @05:51PM
  • Pike v.s. Java by Anonymous Coward (Score:2) Saturday June 03 2000, @06:09PM
  • Re:Pike v.s. Java by eMBee (Score:1) Saturday June 03 2000, @06:19PM
  • Re:Pike v.s. Java by Anonymous Coward (Score:1) Saturday June 03 2000, @06:28PM
  • Re:Pike v.s. Java by eMBee (Score:1) Saturday June 03 2000, @06:30PM
  • The documentation is NOT good by ryanr (Score:2) Saturday June 03 2000, @06:40PM
  • Re:Haiku by extrasolar (Score:2) Saturday June 03 2000, @07:01PM
  • by jacobm (68967) on Saturday June 03 2000, @07:10PM (#1027782) Homepage
    Sorry, you just triggered my pet-peeve-o-meter. Nothing personal.

    The phrase 'X is the most of all possible Y' is, err, the most annoying of all possible figures of speech. :) How can you possibly say that "whitespace is the silliest of all possible protests against [Python]"? Sure, it's a pretty silly protest, but the silliest possible? That's pretty severe, don't you think? In fact, there are much sillier complaints about Python, I'm sure. In fact, I think I'll take your post as a challenge to think of sillier arguments, and I accept. Here's a list:

    Top Ten Sillier Things than Whitespace to Protest About Python

    10. Using a language called 'Python' might give people a cavalier attitude towards snakes.
    9. Python might not be Y2K compliant.
    8. Object-oriented languages suxXxor. You have to use dots all over the place.
    7. The Python interpreter doesn't automatically call the C preprocessor- you have to do it yourself.
    6. Python is Turing-complete. I hate that!
    5. MSVC has no idea how to compile it- can this possibly be a good language?
    4. Clearly it was a language designed by perverts. 'Hey baby, wanna program my Python?' Sickos.
    3. How could a guy named Guido possibly come up with a good language?
    2. The way the code looks reminds me too much of CLR. Bad memories, man.
    1. By taking a perfectly good language and naming it 'Python,' that's one less language that might become popular that could be called 'Ninja.'

    So whitespace is, at the very most, the eleventh-silliest possible complaint against Python. There may be others- could it be possible that the set of complaints about Python has no silliest element? Further research into that topic is necessary, I think. (As is research into how this post relates in any way to what I think about Pike.)
    --
    -jacob
  • Re:Better OO than Self? by Tripp Lilley (Score:1) Saturday June 03 2000, @07:16PM
  • Re:Lisp is NOT a functional programming language by extrasolar (Score:2) Saturday June 03 2000, @07:17PM
  • Re:Yeah, but what does it have to offer? by moibus (Score:1) Saturday June 03 2000, @07:40PM
  • Re:Yeah, but what does it have to offer? by elflord (Score:2) Saturday June 03 2000, @07:52PM
  • Re:Whitespace as a matter of principle by elflord (Score:2) Saturday June 03 2000, @07:57PM
  • PHP with Roxen by Frodo (Score:1) Saturday June 03 2000, @07:58PM
  • Re:Scriptlanguages are bad by Frodo (Score:1) Saturday June 03 2000, @08:00PM
  • Re:Just Like Perl! by elflord (Score:2) Saturday June 03 2000, @08:01PM
  • From a sysadmin's perspective.... by jhr (Score:1) Saturday June 03 2000, @08:21PM
  • Re:OO is obsolete-- Hackers, use your brains! by Gromer (Score:1) Saturday June 03 2000, @08:38PM
  • I thought that was common knowledge by tilly (Score:2) Saturday June 03 2000, @08:41PM
  • Re: "ai" by kevin805 (Score:2) Saturday June 03 2000, @09:05PM
  • Re:Whitespace as a matter of principle by moibus (Score:1) Saturday June 03 2000, @09:13PM
  • Re:Yeah, but what does it have to offer? by paraax (Score:1) Saturday June 03 2000, @09:15PM
  • Re:Just Like Perl! by TheInternet (Score:2) Saturday June 03 2000, @09:18PM
  • Re:Whitespace as a matter of principle by Fizgig (Score:1) Saturday June 03 2000, @09:31PM
  • Re:Pike -- too low level by paraax (Score:1) Saturday June 03 2000, @09:33PM
  • Re:Lisp is NOT a functional programming language by nowonder (Score:1) Saturday June 03 2000, @09:36PM
  • Re:From a sysadmin's perspective.... by davidhedbor (Score:1) Saturday June 03 2000, @09:44PM
  • Re:The documentation is NOT good by davidhedbor (Score:1) Saturday June 03 2000, @09:54PM
  • [Re:sysadmin's perspective] check again! by Stenad (Score:1) Saturday June 03 2000, @09:56PM
  • Re:From a sysadmin's perspective.... by davidhedbor (Score:1) Saturday June 03 2000, @09:58PM
  • Re:The documentation is NOT good by ryanr (Score:2) Saturday June 03 2000, @10:04PM
  • Re:OO is obsolete-- Hackers, use your brains! by thogard (Score:1) Saturday June 03 2000, @10:10PM
  • Re:The documentation is NOT good by davidhedbor (Score:1) Saturday June 03 2000, @10:22PM
  • Re:Pike & Roxen by davidhedbor (Score:1) Saturday June 03 2000, @10:24PM
  • Of course its common knowledge! by extrasolar (Score:2) Saturday June 03 2000, @10:46PM
  • Re:Are you blind? by ZxCv (Score:1) Saturday June 03 2000, @10:48PM
  • Re:Yeah, but what does it have to offer? by lcrawford (Score:1) Saturday June 03 2000, @11:18PM
  • 575, you rock! by tamarik (Score:1) Saturday June 03 2000, @11:25PM
  • Re:[Re:sysadmin's perspective] check again! by verx (Score:1) Saturday June 03 2000, @11:25PM
  • Re:OO is obsolete-- Hackers, use your brains! by jilles (Score:2) Sunday June 04 2000, @12:03AM
  • by kinkie (15482) on Sunday June 04 2000, @12:11AM (#1027815) Homepage
    Pike is close to java in that they are both follow C syntax somewhat, extending it to OO concepts.

    It is unlike java in that while Java is strongly typed and you have to use typecast, Pike is as strongly-typed as you wish. You can use the mixed type to completely defeat any typechecking, or you can use classes and call them by name to be as strongly-typed as you wish.
    Also notice that pike's concept of "class compatibility" is somewhat different from all other strongly typed OO languages, as it doesn't call into play inheritance. If two classes have similar signatures (names and types of public methods and variables), they are compatible.

    Another novel approach Pike has is to function and operator overloading.
    With C++ (and Java, if I remember correctly), overloading is defined by having different functions take different numbers and types of arguments: i.e.
    void foo (int arg);
    void foo (char* arg);
    They are distinguishable at compile-time because the function signature is extended to its arguments' types, usually via name mangling.

    Pike insteads allows arguments to be of different types. The above example would translate to:
    void foo (int|string arg).
    The programmer can then use runtime type information to discriminate.

    Pike has both refcounting and garbage collection. It is quite uncommon to see the gc in action, as it will kick in when some percentage (I think half) of the object references are deemed garbage (it uses some adaptive algorithm to determine when to run). Or when explicitly invoked.

    About static typing, see above. It can be as strict (or as lax) as the programmer wishes. It is refreshing to have some "mixed tmp" variable in a function and use it for loops etc.

    About control flow structures, it has some more than C (i.e. foreach()).
    The preprocessor if used wisely can be a nice weapon. For instance, you can detect the interpreter's version and use threads when possible. Of course, this also means that it allows people to write messy code. But they'd do it anyways...

    It can be as dynamic as you wish. For instance, setting a method of another object can be done using a "function"-type variable:

    class foo {
    private int foo_bar() {
    werror "foo";
    }
    function bar=_bar;
    }
    class gazonk {
    private int gazonk_bar() {
    werror "gazonk";
    }
    object foo_object=foo();
    void create() { /* constructor */
    foo_object->bar=gazonk_bar;
    }
    }

    I could have also used anonymous functions (lambda) here.
    i.e.
    function foo_bar=lambda() {werror "foo";}

    A nice thing about the language is that it doesn't try to hide details from the user. It is known what is handled by reference (every composite type, classes, objects, functions) and what is by value (basic types). It allows runtime inspection (via the indices, and typeof operators), remote objects, etc.

    Since functions are primary objects, the whole runtime library follows a very consistent callbacks-based approach. This comes very handy when doing asynchronous I/O (one of Pike's strong points) or GTK programming.

    About its "product placement" in terms of heavy-ness. It has some at-large programming helpers (more than TCL), and its syntax is less shell-ish than TCL's. Perl is IMO simpler for very simple tasks, but heavier for more complex ones (especially when need to go further than the string-array-hash types, and references come into play. Pike is much easier in this respect).
    Python, I don't know really.I've never used it. I suspect that Pike and Python play roughly in the same league, neither clearly besting the other. I find Pike very convenient in I/O-related task, X programming (although here TCL/TK is better), and some simple text-manipulation tasks, requiring little text manipulation and a bit of variables-juggling.

    About the runtime environment, Pike offers a two-pass compiler (no forward declarations), a mixed static+dynamic names binding model (intra-object references are static, inter-object they are dynamic), and a nice (but not comparable to CPAN) runtime library, including some nice DB-connectivity options.
  • Re:A good example of Pike in action by kinkie (Score:2) Sunday June 04 2000, @12:15AM
  • Re:Reminiscent of LPC by kinkie (Score:2) Sunday June 04 2000, @12:23AM
  • Re:Python does NOT have all of the power of Perl by Shadowlore (Score:1) Sunday June 04 2000, @12:30AM
  • Re:Just Like Perl! by Shadowlore (Score:1) Sunday June 04 2000, @12:37AM
  • Re:The documentation is NOT good by Shadowlore (Score:1) Sunday June 04 2000, @12:41AM
  • Ruby by adnt (Score:1) Sunday June 04 2000, @01:03AM
  • Re:Yeah, but what does it have to offer? by ZanshinWedge (Score:1) Sunday June 04 2000, @01:06AM
  • Re:Yeah, but what does it have to offer? by ZanshinWedge (Score:1) Sunday June 04 2000, @01:11AM
  • Re:A good example of Pike in action by QZS4 (Score:2) Sunday June 04 2000, @01:40AM
  • ... and then there's vi by Mr Z (Score:1) Sunday June 04 2000, @02:56AM
  • Re:Lisp is NOT a functional programming language by greenrd (Score:1) Sunday June 04 2000, @03:42AM
  • Re:Windows support by Anonymous Coward (Score:1) Sunday June 04 2000, @03:45AM
  • Re:Ruby by brycedooley (Score:1) Sunday June 04 2000, @03:54AM
  • Re:Just Like Perl! by elflord (Score:2) Sunday June 04 2000, @04:08AM
  • Another Paradigm by Tom7 (Score:1) Sunday June 04 2000, @04:53AM
  • (OT) Christopher who? by yerricde (Score:1) Sunday June 04 2000, @05:26AM
  • Re:Python does NOT have all of the power of Perl by roman_mir (Score:1) Sunday June 04 2000, @05:30AM
  • Re:Python does NOT have all of the power of Perl by mbaker (Score:1) Sunday June 04 2000, @05:36AM
  • Re:WTF? Why has this been moderated up to 4? by roman_mir (Score:1) Sunday June 04 2000, @05:42AM
  • (OT) After haiku... by yerricde (Score:1) Sunday June 04 2000, @05:44AM
  • Re:My first hyperlinked Haiku by Lemm (Score:1) Sunday June 04 2000, @05:47AM
  • Re:Yeah, but what does it have to offer? by Dwonis (Score:1) Sunday June 04 2000, @05:51AM
  • Re:Almost void? I think not... by kovi (Score:1) Sunday June 04 2000, @06:22AM
  • LOL (Re:Yeah, but what does it have to offer? by FFFish (Score:2) Sunday June 04 2000, @07:01AM
  • Re:... and then there's vi by FFFish (Score:2) Sunday June 04 2000, @07:08AM
  • Re:OO is obsolete-- Hackers, use your brains! by Ian Bicking (Score:2) Sunday June 04 2000, @07:44AM
  • Re:My first hyperlinked Haiku by 575 (Score:1) Sunday June 04 2000, @08:09AM
  • Re:Language performance comparisons(was:Yeah, but. by Jonathan White (Score:1) Sunday June 04 2000, @08:10AM
  • Re:Lisp is NOT a functional programming language by schani (Score:2) Sunday June 04 2000, @08:59AM
  • Re:Haiku by jetpack (Score:1) Sunday June 04 2000, @09:28AM
  • Pull out your search engine :-) by tilly (Score:1) Sunday June 04 2000, @09:55AM
  • Re:Why change for change's sake? by ffatTony (Score:1) Sunday June 04 2000, @10:00AM
  • Re:Yeah, but what does it have to offer? by eMBee (Score:1) Sunday June 04 2000, @12:44PM
  • Re:Just Like Perl! by eMBee (Score:1) Sunday June 04 2000, @12:58PM
  • Re:Pike -- too low level by eMBee (Score:1) Sunday June 04 2000, @01:09PM
  • Re:Just Like Perl! by eMBee (Score:1) Sunday June 04 2000, @01:28PM
  • Re:(OT) After haiku... by eMBee (Score:1) Sunday June 04 2000, @01:31PM
  • Not quite so simple by tilly (Score:1) Sunday June 04 2000, @01:46PM
  • You guys are just now finding this thing??? by Brew Bird (Score:1) Sunday June 04 2000, @01:50PM
  • Re:OO is obsolete-- Hackers, use your brains! by Pig Bodine (Score:1) Sunday June 04 2000, @01:50PM
  • Re:Scriptlanguages are bad by Alan Daniels (Score:1) Sunday June 04 2000, @02:48PM
  • Re:Whitespace as a matter of principle by TheCarp (Score:2) Sunday June 04 2000, @05:46PM
  • Re:The fortune answers that better than I can... by gaw (Score:1) Sunday June 04 2000, @06:12PM
  • Re: "ai" by gaw (Score:1) Sunday June 04 2000, @06:18PM
  • Re:Yeah, but what does it have to offer? by scrytch (Score:2) Sunday June 04 2000, @06:35PM
  • Re:Lisp is NOT a functional programming language by Tom7 (Score:1) Sunday June 04 2000, @06:53PM
  • Type System by Tom7 (Score:1) Sunday June 04 2000, @06:58PM
  • Re:Whitespace as a matter of principle by scrytch (Score:2) Sunday June 04 2000, @07:06PM
  • Re:GIMP EMACS SIAG Gnumeric etc etc by John Allsup (Score:2) Sunday June 04 2000, @10:39PM
  • Re:Why change for change's sake? by rjb (Score:1) Sunday June 04 2000, @10:54PM
  • Re:Lisp is NOT a functional programming language by stevey (Score:1) Monday June 05 2000, @01:14AM
  • Re:Pike v.s. Java by kinkie (Score:2) Monday June 05 2000, @02:04AM
  • Re:Pull out your search engine :-) by kovi (Score:1) Monday June 05 2000, @04:35AM
  • Re:Windows support by brycedooley (Score:1) Monday June 05 2000, @04:47AM
  • Re:The fortune answers that better than I can... by Salamander (Score:2) Monday June 05 2000, @05:03AM
  • Re:Pike -- too low level by riffraff (Score:1) Monday June 05 2000, @05:21AM
  • For all you ex- and current Mudders by Sabby (Score:1) Monday June 05 2000, @06:29AM
  • Re:Python does NOT have all of the power of Perl by Chalst (Score:2) Monday June 05 2000, @08:23AM
  • Re:[Re:sysadmin's perspective] check again! by schon (Score:1) Monday June 05 2000, @08:53AM
  • It isn't? by tilly (Score:2) Monday June 05 2000, @08:54AM
  • Re:He's probably a Perl programmer. by Snafoo (Score:1) Monday June 05 2000, @10:17AM
  • Re:Python does NOT have all of the power of Perl by Chalst (Score:2) Monday June 05 2000, @11:03AM
  • Re:Just Like Perl! by elflord (Score:2) Monday June 05 2000, @11:17AM
  • Re:For all you ex- and current Mudders by eMBee (Score:1) Monday June 05 2000, @11:53AM
  • Re:Pike -- too low level by eMBee (Score:1) Monday June 05 2000, @12:13PM
  • proper but not proper by 10am-bedtime (Score:1) Monday June 05 2000, @01:15PM
  • Re:Pike v.s. Java by MacOSNeedsDeath (Score:1) Monday June 05 2000, @02:11PM
  • Re:Just Like Perl! by eMBee (Score:1) Monday June 05 2000, @02:38PM
  • Re:Just Like Perl! by eMBee (Score:1) Monday June 05 2000, @02:41PM
  • Yet another C clone? by QBasic_Dude (Score:1) Monday June 05 2000, @02:49PM
  • Re:Yet another C clone? by eMBee (Score:1) Monday June 05 2000, @02:56PM
  • Note from the author by profezzorn (Score:1) Monday June 05 2000, @08:05PM
  • Could've fooled me... by smurfi (Score:1) Tuesday June 06 2000, @12:24AM
  • Re:Pike v.s. Java by kinkie (Score:2) Tuesday June 06 2000, @01:27AM
  • Re:Yeah, but what does it have to offer? by Dwonis (Score:1) Tuesday June 06 2000, @12:13PM
  • Re:OO is obsolete-- Hackers, use your brains! by Gromer (Score:1) Wednesday June 07 2000, @06:22AM
  • Verse writer in Bud drinking shock! by Lemm (Score:1) Thursday June 08 2000, @11:45PM
(1) | 2 | 3 | 4