473,503 Members | 4,461 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Decline and fall of scripting languages ?

No good news for scripting-language fans:

http://www.phpmag.net/itr/news/pseco...odeid,113.html

Regards
Kay

Aug 6 '05 #1
30 2001
Do you know anyone who has dropped LAMP for a proprietary Web solution?
Or vice versa?
Know any sys-admins that have dropped their use of scripting languages
for something else?
What are the alternatives that are supposedly driving scripting
languages out?

- I'm unconvinced.

Aug 6 '05 #2
Kay Schluehr wrote:
No good news for scripting-language fans:

http://www.phpmag.net/itr/news/pseco...odeid,113.html


The study was conducted by Evans Data Corporation. Look here:

http://www.evansdata.com/n2/about_us_clients.shtml

Do you see the PSF or Larry Wall on the list?

Reinhold
Aug 6 '05 #3
On Sat, 2005-08-06 at 03:24 -0700, Kay Schluehr wrote:
No good news for scripting-language fans:

http://www.phpmag.net/itr/news/pseco...odeid,113.html


It didn't say what they left PHP, Perl and Python for (if you are to
even believe their findings).

PHP has been losing programmers in droves... to Ruby on Rails, but I'm
not sure how that is bad news for scripting-language fans.

Commercially funded studies are completely untrustworthy. I've seen
contradictory studies published within months of each other by the same
research firms - it was more indicative of a change in clientelle than
anything else.

Cliff

--
cl***@develix.com
http://www.develix.com :: Web applications and hosting :: Linux, PostgreSQL and Python specialists ::
Aug 6 '05 #4
Cliff Wells <cl***@develix.com> writes:
It didn't say what they left PHP, Perl and Python for (if you are to
even believe their findings).

PHP has been losing programmers in droves... to Ruby on Rails, but I'm
not sure how that is bad news for scripting-language fans.


That's the second time in one or two days that I've heard Ruby on
Rails mentioned. Can anyone here post a paragraph or two description?
I sort of know what Ruby is, a very OOP-ified Perl-resemblant
language, that's also implemented only as an interpreter. I can't see
punting Python for it.

Lately I'm interested in OCAML as a possible step up from Python. It
has bogosity of its own (much of it syntactic) but it has static
typing and a serious compiler, from what I understand. I don't think
I can grok it from just reading the online tutorial; I'm going to have
to code something in it, once I get a block of time available. Any
thoughts?
Aug 7 '05 #5
Paul Rubin wrote:
Cliff Wells <cl***@develix.com> writes:

It didn't say what they left PHP, Perl and Python for (if you are to
even believe their findings).

PHP has been losing programmers in droves... to Ruby on Rails, but I'm
not sure how that is bad news for scripting-language fans.


That's the second time in one or two days that I've heard Ruby on
Rails mentioned. Can anyone here post a paragraph or two description?
I sort of know what Ruby is, a very OOP-ified Perl-resemblant
language, that's also implemented only as an interpreter. I can't see
punting Python for it.

www.google.com
Aug 7 '05 #6
Joseph Garvin <k0*****@kzoo.edu> writes:
That's the second time in one or two days that I've heard Ruby on
Rails mentioned. Can anyone here post a paragraph or two description?
I sort of know what Ruby is, a very OOP-ified Perl-resemblant
language, that's also implemented only as an interpreter. I can't see
punting Python for it.

www.google.com


Thanks but I wanted a more Pythonic point of view.
Aug 7 '05 #7
Paul Rubin wrote:
Joseph Garvin <k0*****@kzoo.edu> writes:
That's the second time in one or two days that I've heard Ruby on
Rails mentioned. Can anyone here post a paragraph or two description?
I sort of know what Ruby is, a very OOP-ified Perl-resemblant
language, that's also implemented only as an interpreter. I can't see
punting Python for it.


www.google.com


Thanks but I wanted a more Pythonic point of view.


google('"ruby on rails" python')

Plenty of Pythonistas posting paragraphs pontificating on the Pythonic
perspective.

--
Robert Kern
rk***@ucsd.edu

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter

Aug 7 '05 #8
Paul Rubin wrote:
Cliff Wells <cl***@develix.com> writes:
It didn't say what they left PHP, Perl and Python for (if you are to
even believe their findings).

PHP has been losing programmers in droves... to Ruby on Rails, but I'm
not sure how that is bad news for scripting-language fans.
That's the second time in one or two days that I've heard Ruby on
Rails mentioned. Can anyone here post a paragraph or two description?
I sort of know what Ruby is, a very OOP-ified Perl-resemblant
language, that's also implemented only as an interpreter. I can't see
punting Python for it.


Exacly. While Pythons main attitude is reducing clutter and redundant
design while staying within an OO mindframe, Ruby reintroduces perlish
clutter. Ruby was mentioned to be a more clean OO language than Python
in times where Python didn't support inheritance from builtins.
Nowadays anonymus blocks are the single most discriminative feature
Ruby is praised for. Therefore Ruby seems to be more modern than Python
to some people allthough it's design concept is reactionary - or
"postmodern" what may be the same in post-postmodern times ;-)
Lately I'm interested in OCAML as a possible step up from Python. It
has bogosity of its own (much of it syntactic) but it has static
typing and a serious compiler, from what I understand. I don't think
I can grok it from just reading the online tutorial; I'm going to have
to code something in it, once I get a block of time available. Any
thoughts?


The whole ML family ( including OCaml ) and languages like Haskell
based on a Hindley-Milnor type system clearly make a difference. I
would say that those languages are also cutting edge in language theory
research. It should be definitely interesting to you. Since there is no
single language implementation you might also find one that supports
concepts you need most e.g. concurrency:

http://cml.cs.uchicago.edu/

Regards,
Kay

Aug 7 '05 #9
"Kay Schluehr" <ka**********@gmx.net> writes:
The whole ML family ( including OCaml ) and languages like Haskell
based on a Hindley-Milnor type system clearly make a difference. I
would say that those languages are also cutting edge in language theory
research. It should be definitely interesting to you. Since there is no
single language implementation you might also find one that supports
concepts you need most e.g. concurrency:

http://cml.cs.uchicago.edu/


Thanks. That link doesn't work right now but I'll try again later.

I wonder why the ML's didn't just dispense with the syntax nonsense
and present themselves unabashedly as statically typed Lisp dialects
complete with parentheses.

For concurrency, Oz looks neat, but probably doomed to Python-like
slow performance (at least the shootout benchmarks have been pretty
poor). I find it easier to understand than ML though I haven't coded
anything in it either. I wonder if using logic variables for
inter-thread communication without careful conventions can lead to
total spaghetti.

I also want to check out Erlang and Occam, in my copious free time.

Aug 7 '05 #10
"gene tani" <ge*******@gmail.com> writes:
http://martinfowler.com/bliki/Collec...ureMethod.html
http://onestepback.org/index.cgi/Tec...onAndRuby.rdoc


Thanks, the way Ruby passes closure arguments to various of its
library builtins is cute. PEP 343 adds something sort of comparable
to Python but I think more library support and culture evolution will
be needed before the "with" statement operates as smoothly.

Ruby just doesn't interest me that much though (maybe I'm missing
something). I was hoping for a concise explanation of what Rails does
and whether it's feasible to do something like it in (say) Python. I
did look at the rubyonrails.com site but there were too many marketing
buzzwords and downloadable videos for me to deal with.
Aug 7 '05 #12
Kay Schluehr (ka**********@gmx.net) wrote:
: No good news for scripting-language fans:

: http://www.phpmag.net/itr/news/pseco...odeid,113.html

Just as well I ditched a scripting language for Python then...

cds
Aug 7 '05 #13
Quoth "Kay Schluehr" <ka**********@gmx.net>:
| Paul Rubin wrote:
[ ... re where to go from Python ]
|> Lately I'm interested in OCAML as a possible step up from Python. It
|> has bogosity of its own (much of it syntactic) but it has static
|> typing and a serious compiler, from what I understand. I don't think
|> I can grok it from just reading the online tutorial; I'm going to have
|> to code something in it, once I get a block of time available. Any
|> thoughts?
|
| The whole ML family ( including OCaml ) and languages like Haskell
| based on a Hindley-Milnor type system clearly make a difference. I
| would say that those languages are also cutting edge in language theory
| research. It should be definitely interesting to you. Since there is no
| single language implementation you might also find one that supports
| concepts you need most e.g. concurrency:
|
| http://cml.cs.uchicago.edu/

My vote would be Haskell first, then other functional languages.
Learning FP with Objective CAML is like learning to swim in a
wading pool -- you won't drown, but there's a good chance you
won't really learn to swim either. Has an interesting, very
rigorous OOP model though.

Donn Cave, do**@drizzle.com
Aug 8 '05 #14
(throw Martin Fowler and Paul Graham into google blender)

http://www.billkatz.com/node/42
http://osteele.com/archives/2005/03/ruby-and-laszlo

Aug 8 '05 #15
"Donn Cave" <do**@drizzle.com> writes:
My vote would be Haskell first, then other functional languages.
Learning FP with Objective CAML is like learning to swim in a
wading pool -- you won't drown, but there's a good chance you
won't really learn to swim either. Has an interesting, very
rigorous OOP model though.


I'm not sure what you mean by that about OCAML. That its functional
model is not pure enough? I'd like to look at Haskell as well, but I
have the impression that its implementation is not as serious as
OCaml's, i.e. no native-code compiler.

Aug 8 '05 #16
Kay Schluehr (ka**********@gmx.net) wrote:
: No good news for scripting-language fans:

: http://www.phpmag.net/itr/news/pseco...odeid,113.html


What incredible horse dooey.

The only thing that NEVER "penetrates the enterprise space"
is good sense.

Does anyone read history books? There is no such thing as a large
corporation that is not doomed. There are a few names which are
older than 1/2 a century but the companies and players are
unrecognizable. We have barbeque joints in Texas older than IBM.
And noone from 1970 would recognize IBM.
The "enterprise" is good for one thing. Devouring each other.

The "enterprise"'s opinion about what is good for the future
is like this broker I knew in Dallas. All you had to do was
find out which stock he was recommending, then short it.


Aug 8 '05 #17
phil wrote:
Kay Schluehr (ka**********@gmx.net) wrote:
: No good news for scripting-language fans:

: http://www.phpmag.net/itr/news/pseco...odeid,113.html


What incredible horse dooey.

The only thing that NEVER "penetrates the enterprise space"
is good sense.

Does anyone read history books? There is no such thing as a large
corporation that is not doomed. There are a few names which are
older than 1/2 a century but the companies and players are
unrecognizable. We have barbeque joints in Texas older than IBM.
And noone from 1970 would recognize IBM.
The "enterprise" is good for one thing. Devouring each other.

The "enterprise"'s opinion about what is good for the future
is like this broker I knew in Dallas. All you had to do was
find out which stock he was recommending, then short it.

<snip>
Err, that's not what is meant by enterprise, it's a catch all term for
large distributed systems, take a look at the link below for an idea of
this:

http://java.sun.com/j2ee/faq.html

Obviously there are other variations on this than the Sun stuff but
enterprise dosn't mean 'very large companies' in this case.

Cheers,

Neil

--

Neil Benn
Senior Automation Engineer
Cenix BioScience
BioInnovations Zentrum
Tatzberg 47
D-01307
Dresden
Germany

Tel : +49 (0)351 4173 154
e-mail : be**@cenix-bioscience.com
Cenix Website : http://www.cenix-bioscience.com

Aug 8 '05 #18
Paul Rubin wrote:
Ruby just doesn't interest me that much though (maybe I'm missing
something).
I don't think you are. My impression is that if you've never used Python or
Ruby, you'll generally end up liking whichever of the two you really discover
first (since the common case is that you're coming from Java/C++/PHP/etc - the
more mainstream languages).

IIRC, the creator of Ruby got really hung up on the fact that Python was not a
pure OO language, so he decided to make a new language that was (this was in the
pre-metaclass, old-style class days of Python).
I was hoping for a concise explanation of what Rails does
I'd say it's similar to Zope in that

(1) For both, the introductory tutorials make it seem deceptively easy to use,
but they hide a sometimes steep learning curve

(2) For both, it's hard to find clear, concise documentation midway between
introductory tutorials and reading the source code

(3) For both, being frameworks, you have to commit yourself to them almost
entirely and be prepared for some serious lock-in

(4) Oh yeah, they're both web application frameworks :) (ROR has libraries to
aid in building database-centric web applications: it includes an database ORM,
a web templating language, libraries for user sessions, etc.)
and whether it's feasible to do something like it in (say) Python. I
did look at the rubyonrails.com site but there were too many marketing
buzzwords and downloadable videos for me to deal with.


Yes, it's incredibly feasible. I think the Subway project is sort of heading
down a similar path but using Python instead. I've tried a couple of times to
use Ruby on Rails and, I have to admit, I had a tough time cutting through the
hype (also, it seemed like the preferred method of learning about features was
through downloading large videos).

The ActiveRecord library (for handling mapping objects to the database) seems
sort of powerful, but the tutorials and demo videos make a huge deal about how
ROR can generate a web form by inspecting the database table metadata. (Useful?
Probably. Mind-blowingly cool? Hardly.)

Beyond ActiveRecord, there is some additional stuff to help you build
Model-View-Controller web UIs, and then lots of the standard web app components
(user sessions, security, logging, etc.).

I think ROR's big selling point isn't technology-related at all: it's hype
machine has helped build an active community, and it's a single framework as
opposed to Python's bazillions. :)

-Dave
Aug 8 '05 #19
In article <7x************@ruckus.brouhaha.com>,
Paul Rubin <http://ph****@NOSPAM.invalid> wrote:
"Donn Cave" <do**@drizzle.com> writes:
My vote would be Haskell first, then other functional languages.
Learning FP with Objective CAML is like learning to swim in a
wading pool -- you won't drown, but there's a good chance you
won't really learn to swim either. Has an interesting, very
rigorous OOP model though.


I'm not sure what you mean by that about OCAML. That its functional
model is not pure enough? I'd like to look at Haskell as well, but I
have the impression that its implementation is not as serious as
OCaml's, i.e. no native-code compiler.


On the contrary, there are a couple. Ghc is probably the
leading implementation these days, and by any reasonable
measure, it is serious.

Objective CAML is indeed not a pure functional language.

Donn Cave, do**@u.washington.edu
Aug 8 '05 #20
Donn Cave <do**@u.washington.edu> writes:
I'm not sure what you mean by that about OCAML. That its functional
model is not pure enough? I'd like to look at Haskell as well, but I
have the impression that its implementation is not as serious as
OCaml's, i.e. no native-code compiler.
On the contrary, there are a couple. Ghc is probably the leading
implementation these days, and by any reasonable measure, it is serious.


OK, I've looked at the Haskell "gentle introduction" page a little bit
and it's nice. I do remember Ocaml beating Haskell on a performance
shootout and am not sure whether Ghc was used for the Haskell entry.

I notice that Haskell strings are character lists, i.e. at least
conceptually, "hello" takes the equivalent of five cons cells. Do
real implementations (i.e. GHC) actually work like that? If so, that's
enough to kill the whole thing right there.
Objective CAML is indeed not a pure functional language.


Should that bother me? I should say, my interest in Ocaml or Haskell
is not just to try out something new, but also as a step up from both
Python and C/C++ for writing practical code. That is, I'm looking for
something with good abstraction (unlike Java) and type safety (unlike
C/C++), but for the goal of writing high performance code (like
C/C++). I'm even (gasp) thinking of checking out Ada.
Aug 8 '05 #21
Donn Cave <do**@u.washington.edu> writes:
On the contrary, there are a couple. Ghc is probably the
leading implementation these days, and by any reasonable
measure, it is serious.

Objective CAML is indeed not a pure functional language.


*cough* unsafePerformIO *cough*

Cheers,
mwh

--
MAN: How can I tell that the past isn't a fiction designed to
account for the discrepancy between my immediate physical
sensations and my state of mind?
-- The Hitch-Hikers Guide to the Galaxy, Episode 12
Aug 8 '05 #22
In article <7x************@ruckus.brouhaha.com>,
Paul Rubin <http://ph****@NOSPAM.invalid> wrote:
....
I notice that Haskell strings are character lists, i.e. at least
conceptually, "hello" takes the equivalent of five cons cells. Do
real implementations (i.e. GHC) actually work like that? If so, that's
enough to kill the whole thing right there.


Yep. There is a separate packed string type.
Objective CAML is indeed not a pure functional language.


Should that bother me? I should say, my interest in Ocaml or Haskell
is not just to try out something new, but also as a step up from both
Python and C/C++ for writing practical code. That is, I'm looking for
something with good abstraction (unlike Java) and type safety (unlike
C/C++), but for the goal of writing high performance code (like
C/C++). I'm even (gasp) thinking of checking out Ada.


It's up to you, I'm just saying. Speaking of C++, would
you start someone with Python or Java for their first OOPL?
Kind of the same idea.

Donn Cave, do**@u.washington.edu
Aug 8 '05 #23
Well, I tried sending this via email, but I can't derive a valid
address from Paul's anti-spammed address.

My apologies to the rest of you for this.

Paul Rubin <http://ph****@NOSPAM.invalid> writes:
Should that bother me? I should say, my interest in Ocaml or Haskell
is not just to try out something new, but also as a step up from both
Python and C/C++ for writing practical code. That is, I'm looking for
something with good abstraction (unlike Java) and type safety (unlike
C/C++), but for the goal of writing high performance code (like
C/C++). I'm even (gasp) thinking of checking out Ada.


If you're thinking about checking out Ada, you might want to take a
look at D. I haven't gotten very far into it myself (I was attracted
by DbC), but it looks like a modern redesign of C: GC, OO, and
typedefs that actually define new types, while still being something
it's possible to generate reasonably fast code for.

<mike

--
Mike Meyer <mw*@mired.org> http://www.mired.org/home/mwm/
Independent WWW/Perforce/FreeBSD/Unix consultant, email for more information.
Aug 9 '05 #24
Mike Meyer <mw*@mired.org> writes:
Well, I tried sending this via email, but I can't derive a valid
address from Paul's anti-spammed address.
Yeah, I should update that url since they turned off the forwarding.
It should be <http://paulrubin.com>. But a thread titled "decline and
fall of scripting languages" is reasonably on-topic for clpy, and
discussion of non-Python languages is reasonable for a thread with
such a title. So replying to the newsgroup is appropriate.
If you're thinking about checking out Ada, you might want to take a
look at D. I haven't gotten very far into it myself (I was attracted
by DbC), but it looks like a modern redesign of C: GC, OO, and
typedefs that actually define new types, while still being something
it's possible to generate reasonably fast code for.


Yeah, I've looked at D and it seems pretty nicely designed, much more
tasteful than C++. So far though, it seems to have only one
implementation and not much of a user base. I dunno that I'm really
that interested in checking out Ada. It seems like a dead end. Its
main virtue is that it can target small embedded processors, which I
don't know if D can do all that easily.

Right now I'm mainly interested in OCaml, Haskell, Erlang, and maybe
Occam. Haskell seems to have the happiest users, which is always a
good thing. Erlang has been used for real-world systems and has
built-in concurrency support. OCaml seems to crush Haskell and Erlang
(and even Java) in performance. Occam isn't used for much practical
any more, but takes a purist approach to concurrency that seems worth
studying.

The idea is to use one of those languages for a personal project after
my current work project wraps up pretty soon. This would be both a
learning effort and an attempt to write something useful. I'm
thinking of a web application like a discussion board or wiki,
intended to outperform the existing ones, i.e. able to handle a
Slashdot or Wikipedia sized load (millions of hits/day) on a single
fast PC instead of a rack full. "Single fast PC" will probably soon
come to mean a two-cpu-chip motherboard in a 1U rack box, where each
cpu chip is a dual core P4 or Athlon, so the application should be
able to take advantage of at least 4-way multiprocessing, thus the
interest in concurrency.
Aug 9 '05 #25
Quoth Paul Rubin <http://ph****@NOSPAM.invalid>:

| Right now I'm mainly interested in OCaml, Haskell, Erlang, and maybe
| Occam. Haskell seems to have the happiest users, which is always a
| good thing. Erlang has been used for real-world systems and has
| built-in concurrency support. OCaml seems to crush Haskell and Erlang
| (and even Java) in performance.

I'm sure you're aware that these are all arguable. In particular,
shootout figures aren't a really reliable way to find out about
performance.

| The idea is to use one of those languages for a personal project after
| my current work project wraps up pretty soon. This would be both a
| learning effort and an attempt to write something useful. I'm
| thinking of a web application like a discussion board or wiki,
| intended to outperform the existing ones, i.e. able to handle a
| Slashdot or Wikipedia sized load (millions of hits/day) on a single
| fast PC instead of a rack full. "Single fast PC" will probably soon
| come to mean a two-cpu-chip motherboard in a 1U rack box, where each
| cpu chip is a dual core P4 or Athlon, so the application should be
| able to take advantage of at least 4-way multiprocessing, thus the
| interest in concurrency.

Oh. Note that the FP world has been historically attracted to the
"green" thread model, where threads are implemented in the runtime
like (old) Stackless micro-threads, much faster and more tractable
for runtime data structures ... but runs on only one CPU at a time.
Ocaml & I believe current ghc support native OS threads, Erlang I
would guess not but wouldn't know for sure. Don't know about ghc
internals, the way I remember it ocaml's native thread system has
something like Python's global lock, instead of locks around each
memory management function etc.

Donn Cave, do**@drizzle.com
Aug 9 '05 #26
On 08 Aug 2005 20:37:01 -0700, Paul Rubin <http://ph****@NOSPAM.invalid> wrote:
[...]
Right now I'm mainly interested in OCaml, Haskell, Erlang, and maybe
Occam. Haskell seems to have the happiest users, which is always a
good thing. Erlang has been used for real-world systems and has
built-in concurrency support. OCaml seems to crush Haskell and Erlang
(and even Java) in performance. Occam isn't used for much practical
any more, but takes a purist approach to concurrency that seems worth
studying. IIRC, I've seen something about a web server implemented in erlang
with tremendous performance at high levels of concurrency where other
implementations bog down. So I would want further details before I
believe that all OCaml versions "crush" all Erlang versions in performance.


The idea is to use one of those languages for a personal project after
my current work project wraps up pretty soon. This would be both a
learning effort and an attempt to write something useful. I'm
thinking of a web application like a discussion board or wiki,
intended to outperform the existing ones, i.e. able to handle a
Slashdot or Wikipedia sized load (millions of hits/day) on a single
fast PC instead of a rack full. "Single fast PC" will probably soon
come to mean a two-cpu-chip motherboard in a 1U rack box, where each
cpu chip is a dual core P4 or Athlon, so the application should be
able to take advantage of at least 4-way multiprocessing, thus the
interest in concurrency.

I'd suggest finding that Erlang web server writeup.

Hm, some googling ...
I think this is the graph I saw:

http://www.sics.se/~joe/apachevsyaws.html

Can't vouch for what it means, but taken at face value
would seem to warrant a further look into details.

This turned up also

http://eddie.sourceforge.net/txt/WP_1.0.html

which I hadn't seen before, and which looks interesting
though maybe stale?
I guess this is a home for erlang:
http://www.erlang.se/

Much other stuff, but you know how to google ;-)

Regards,
Bengt Richter
Aug 9 '05 #27
In article
<m2************@82-33-185-193.cable.ubr01.azte.blueyonder.co.uk>,
Michael Hudson <mw*@python.net> wrote:
Donn Cave <do**@u.washington.edu> writes:
On the contrary, there are a couple. Ghc is probably the
leading implementation these days, and by any reasonable
measure, it is serious.

Objective CAML is indeed not a pure functional language.


*cough* unsafePerformIO *cough*


(Hope that cough isn't anything serious.) The way I
understand it, you'd be a fool to use unsafePerformIO
in a way that would generally compromise functional
purity. It really is "unsafe", inasmuch as it violates
central assumptions of the language evaluation model.

Some people take "pure" too seriously. In this context,
functional purity just means that we know that in principle,
the value of an expression is constant - given the same
inputs to a function, we always expect the same result.
It doesn't mean "free from blemish." unsafePerformIO is
a sort of blemish, I suppose, but it's a pure functional
language in my book.

Donn Cave, do**@u.washington.edu
Aug 9 '05 #28
bo**@oz.net (Bengt Richter) writes:
built-in concurrency support. OCaml seems to crush Haskell and Erlang
(and even Java) in performance. Occam isn't used for much practical
any more, but takes a purist approach to concurrency that seems worth
studying. IIRC, I've seen something about a web server implemented in erlang
with tremendous performance at high levels of concurrency where other
implementations bog down. So I would want further details before I
believe that all OCaml versions "crush" all Erlang versions in performance.


Good point you and Donn make about shootouts. However, the shootout
figure differences in these particular cases are vast, and nature of
the implementations seems to make that result inevitable. I've been
looking a little more at the docs of the languages (haven't written
any code yet). Erlang is sort of like Python: dynamically typed, and
compiled to bytecode that gets interpreted. Haskell is statically
typed and has apparently has a real compiler, but uses lazy evaluation
for everything, which if done in the obvious way (I don't know how
they actually do it), there's a closure wrapped around every value.
Also, the language itself seems to do a lot of stuff for you behind
the scenes, almost like Prolog. In that sense it's really a higher
level language than normal imperative languages, so I can see why
people like programming in it. But it doesn't make for the fastest
machine code. OCaml seems to be sort of like Lisp with static types,
and syntax geared towards functional-style programming. In that sense
it's maybe less high-level than Haskell. But it means standard Lisp
compiler techniques can make excellent output code, seriously
competing with C/C++ compilers. There's an SML compiler (MLton) that
seems to significantly beat C++ for scientific number crunching speed
a lot of the time.
I'd suggest finding that Erlang web server writeup.
Hm, some googling ...
I think this is the graph I saw:
http://www.sics.se/~joe/apachevsyaws.html

Can't vouch for what it means, but taken at face value
would seem to warrant a further look into details.
That looks like purely a test of how many simultaneous connections the
server can handle. They had each client connect to the server, read
one byte, then hold the connection open and do nothing. Apache uses a
separate process or OS thread for each connection, so it wedged once a
few thousand requests were open. Erlang apparently uses microthreads,
probably allocating every call frame on the heap like SML/NJ did, so
they showed it with 80,000 connections open. The key, though, is that
the clients were doing basically nothing. It just meant that many
small data structures were allocated in memory of one server process.
It doesn't say anything about how fast the server can actually
generate and serve dynamic content.

The Mnesia database looks interesting and I'm going to have to read
about it further and figure out if something like it can be done in
Python.

I realized that my server will spend a lot of cycles in mod_gzip or
the equivalent. So I think a (maybe not achievable) performance goal
is for the web app to use 50% of the available cycles making html, and
the other 50% go to gzipping the html. That means that the app should
make dynamic output as fast as gzip can compress it, which is at least
several megabytes per second. (All static content would be stored
pre-gzipped and served by khttpd (Linux kernel httpd) without the
dynamic app ever seeing the request). I think that requires compiled
code and use of an in-process database (no remote SQL) for almost all
requests. It's an order of magnitude faster than the crap that almost
everyone is running on real sites.
This turned up also
http://eddie.sourceforge.net/txt/WP_1.0.html
Oh, this is nice. I'm thinking of an architecture like OK Web Server
(http://okws.org) but without (ugh!) C++, letting the kernel httpd
serve static content as mentioned.
I guess this is a home for erlang:
http://www.erlang.se/
That's the commercial site, the free stuff is at www.erlang.org.
Much other stuff, but you know how to google ;-)


Yes, thanks ;-).
Aug 16 '05 #29
Paul Rubin <http://ph****@NOSPAM.invalid> writes:
So I think a (maybe not achievable) performance goal
is for the web app to use 50% of the available cycles making html, and
the other 50% go to gzipping the html. That means that the app should
make dynamic output as fast as gzip can compress it,


It occurs to me that if the html pages are generated from templates
with little bits of executable code, then maybe the static parts of
the templates can be gzipped ahead of time, and a lot of the dynamic
stuff is cacheable and can be gzipped ahead of time. (gzip is sort of
a "linear operator" in that gzip(a)+gzip(b) is a valid though not
maximally efficient gzip encoding for gzip(a+b)). That could save
some cpu cycles at the expense of impaired compression ratio. Hmm.
Aug 16 '05 #30
On 16 Aug 2005 01:32:16 -0700, rumours say that Paul Rubin
<http://ph****@NOSPAM.invalid> might have written:
Erlang apparently uses microthreads,
probably allocating every call frame on the heap like SML/NJ did, so
they showed it with 80,000 connections open.


This is 80000 TCP/IP v4 connections open?
--
TZOTZIOY, I speak England very best.
"Dear Paul,
please stop spamming us."
The Corinthians
Aug 26 '05 #31

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

22
2398
by: Ajay | last post by:
hi! is there an authoritative source on the performance of scripting languages such as python vs. something like java, c, c++. its for a report, so it would be awesome if i could quote some...
33
2691
by: Quest Master | last post by:
I am interested in developing an application where the user has an ample amount of power to customize the application to their needs, and I feel this would best be accomplished if a scripting...
15
4231
by: Birahim FALL | last post by:
Hi, I'm very fresh to PostgreSQL, coming from Oracle. I want to developp web applications based on apache and postgresql. Is there an equivalent of OWA server (Oracle Web Application server) for...
1
5611
by: andrewcw | last post by:
I have used System.Management in the past to extract and walk thru drives & check their type. I can also do it with COM's FileSystemObject. Here I am trying to just use the Management Object...
2
2024
by: James | last post by:
Are there any classes in c# for this or am I left to use the com interface, which I'm not sure how. And if I have this will it work on a machine that someone has disabled scripting? Finally,...
4
6335
by: korund | last post by:
Is there any difference to read & write to windows Registry with VBScript or JavaScript? Both scripting languages have similar syntax. What is preferable use for this? thanks.
6
1613
by: Dynash | last post by:
i want to have a normal hyperlink, its for the terms of service, a i accept, and i decline. the i decline like i want it to have the onClick="closeIt()" in order for when someone clicks the i...
2
6488
by: JosAH | last post by:
Greetings, Introduction Java is not Javascript and most of the times when questions end up in the wrong forum, they're moved to the other forum as soon as possible. Accidentally this article...
12
2145
by: jim | last post by:
I am new to web programming with javascript and I was wondering if javascript is the only scripting language that run in browsers like Firefox, IE and Opera or are there others? The scripting...
0
7258
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7313
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6970
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
5558
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
4987
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4663
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3146
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
720
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
366
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.