That is exactly what I was thinking after this thread started yesterday. Although I'm not a programmer I am getting into some scripting. I use Wise scripting at work for some things and it is pretty customized to the way you build an .msi, but I suppose like any scripting language it could be used for more than it was originally designed. Anyway, I'm using WiseScript to build an installer for a program called Rational Development Studio and Rational has Perl 5.6.1 as a component that Websphere developers can use.
Point being that, as far as I know, Perl works the same on a Winders box as it does on a *nix box. There is that trouble with file paths having the "/" going the wrong direction on Winders, but I'm sure there is a decent workaround in Perl. If I could just read Perl I might understand, but Perl looks to me like some secret code.
So, please someone turn Mono/.Net into something positive that is truly multi-platform, multi-language, etc. Don't just give the whole thing lip service and compromise on functionality and principals. That is why I will wait and see before I install either Mono or .Net, unless I absolutely have to.
Brian Kelsay
"Brian Densmore" <> 02/16/05 04:56PM >>>
One more thing. I am all for using mono to embrace .Net and c#. I believe we should take this opportunity to "embrace and extend" .net and c#. We should add features to ..net and to c# to make it better, faster and more useful for the world at large. We should make these features available via GPL. What better way to take away Microsoft market share than by using their own tactics against them. Plus if we add features we can be sure they really do work in cross-browser/platforms, and they are the features that we really want and are useful.
On Thu, Feb 17, 2005 at 09:14:18AM -0600, Brian Kelsay wrote:
Point being that, as far as I know, Perl works the same on a Winders box as it does on a *nix box. There is that trouble with file paths having the "/" going the wrong direction on Winders, but I'm sure there is a decent workaround in Perl. If I could just read Perl I might understand, but Perl looks to me like some secret code.
Perl has lots of shortcuts, like the implicit @_ and $_ variables from loops, and what not. This saves time and script size, but can make it difficult to read for other programmers. I think Perl needs a good deal of commenting. Of course, no language is immune from the need of good comments. =)
So, please someone turn Mono/.Net into something positive that is truly multi-platform, multi-language, etc. Don't just give the whole thing lip service and compromise on functionality and principals. That is why I will wait and see before I install either Mono or .Net, unless I absolutely have to.
Java had the first crack at being platform independent. It got a reputation at being very slow in the beginning, and many people still repeat that. It will never be as fast as C (neither will Perl). I haven't compared the emulation percentage of Mono to .NET verses open implimentations of Java to Sun's Java, in other words how completely does the open source implimentation stack up to the propriatary one.
Also, C# is an ECMA standard. I'm not sure if Java is.
Just my two cents worth.
Jeremy
On Thursday 17 February 2005 10:43 am, Jeremy Turner wrote:
Java had the first crack at being platform independent. It got a reputation at being very slow in the beginning, and many people still repeat that.
Java is a virtual operating system that can be installed on top of other operating systems. As an OS, it's somewhat limited and specialized, but that's what the "Virtual Machine" in java is all about.
Java applications don't run on Windows or Linux, they run on Java, which runs on Windows or Linux.
Personally, I object to having to install an operating system on my operating system in order to see the animated dingbats on somebody's web site. Give me something like HTML that "runs" natively on multiple platforms, that doesn't require me to download and install a support system.
On Thursday 17 February 2005 11:08, Jonathan Hutchins wrote:
Java is a virtual operating system that can be installed on top of other operating systems. As an OS, it's somewhat limited and specialized, but that's what the "Virtual Machine" in java is all about.
Yea. I agree. I've had Java installed on computers since somewhere around 1996 and until this day I've only see four GUI apps written in Java that were usable: JEdit, ldapbrowser, Azureus, and IHMCCmap. Sometimes the lack of a good font rendering engine or the mindless use of 'look and feel' makes me want to scream, though.
Hopefully this alleged open-sourcing of Java will result in some more sanity.
On Thu, Feb 17, 2005 at 11:08:53AM -0600, Jonathan Hutchins wrote:
On Thursday 17 February 2005 10:43 am, Jeremy Turner wrote:
Java had the first crack at being platform independent. It got a reputation at being very slow in the beginning, and many people still repeat that.
Java is a virtual operating system that can be installed on top of other operating systems. As an OS, it's somewhat limited and specialized, but that's what the "Virtual Machine" in java is all about.
I wouldn't call Java an operating system, in the typical sense of the word. It doesn't get to directly access hardware. It's a user-space application. It's more of a translator: it translates the Java bytecode into machine-level commands. It does take care of garbage collection unlike C or C++, but like an operating system.
I wouldn't argue that Java is an operating system, but it is another layer for applications to go through. It all depends on your defination of "operating system" though.
Java applications don't run on Windows or Linux, they run on Java, which runs on Windows or Linux.
Much like Perl scripts run on Perl, or Python scripts run on Python, yes.
Personally, I object to having to install an operating system on my operating system in order to see the animated dingbats on somebody's web site.
I agree. A lot of Java applets I see are basically worthless. Frontpage used to make Java roll-over buttons. There are plenty of other technologies that can use that same look today without the need for Java.
Give me something like HTML that "runs" natively on multiple platforms, that doesn't require me to download and install a support system.
But basically a web browser _is_ a support system. It processes the HTML and displays it, just like the Java VM would do. The processed code on the server end (Perl or PHP or whatever) will still require interpreting, just like Java. And while HTML is portable across platforms, it is incredibly difficult to maintain a consistant look using HTML with CSS2 with multiple web browsers (read IE vs anything else).
Jeremy
On Thursday 17 February 2005 03:42 pm, Jeremy Turner wrote:
On Thu, Feb 17, 2005 at 11:08:53AM -0600, Jonathan Hutchins wrote:
Java is a virtual operating system that can be installed on top of other operating systems. As an OS, it's somewhat limited and specialized, but that's what the "Virtual Machine" in java is all about.
I wouldn't call Java an operating system, in the typical sense of the word.
I again refer you to the concept of the Java Virtual Machine.
Give me something like HTML that "runs" natively on multiple platforms, that doesn't require me to download and install a support system.
But basically a web browser _is_ a support system.
A browser is an application. Maybe I'm mistaken about this, but having looked at the chore of downloading and installing a JVM/JRE a couple of times, the complexity and sheer size of Java distinguish it from something like Firefox, which can legitimately claim to be an application.
Perl is a scripting language. As a language, it has it's complexity, and certainly the module system gives it size and complexity. On the other hand, there's a working installation on most Linux distributions, and it does a good job of maintaining itself without a lot of user intervention. As with PHP, Perl is maintained in the domain of the developer, on the server, and doesn't have to be installed by or for the end user, unless the end user is actively creating and working with perl scripts.
I realise that diversity is part of the evolutionary process, but as an end user I don't want to have to download multiple, redundant scripting systems, especially if they are only available as, or require, a full development environment devoted to them. Gcc, bash, and perl are pretty much standard parts of Linux these days. Ruby, Python, Java, and a host of others are, in my opinion, solutions that have yet to justify themselves by solving a real problem.
They're great for developers, programmers, designers, but not appropriate for end-user land.
On Thu, 17 Feb 2005, Jonathan Hutchins wrote:
On Thursday 17 February 2005 03:42 pm, Jeremy Turner wrote:
On Thu, Feb 17, 2005 at 11:08:53AM -0600, Jonathan Hutchins wrote:
Java is a virtual operating system that can be installed on top of other operating systems. As an OS, it's somewhat limited and specialized, but that's what the "Virtual Machine" in java is all about.
I wouldn't call Java an operating system, in the typical sense of the word.
I again refer you to the concept of the Java Virtual Machine.
You might want to read up on what the Java Virtual Machine and the concepts behind what an operating system is before you go any further.
I am sure that all the java web monkeys out there would love to say that they write operating systems instead of applets, but in the end we all know ... they just write applets. ;-)
//========================================================\ || D. Hageman dhageman@dracken.com || \========================================================//
I don't want to have to download multiple, redundant scripting systems, especially if they are only available as, or require, a full development environment devoted to them.
Just tell Larry Wall that you want Parrot (http://tinyurl.com/5saz6) to parse Java byte-code also-- call it Jarrot or Pava . I imagine his response would be along the lines of: "That idea is so crazy, it just might work!"
I don't want to have to download multiple, redundant scripting systems, especially if they are only available as, or require, a full development environment devoted to them.
Reminds me of the early PHP days, having to have gcc installed, having to get the sources for PHP, Apache and MySQL and build them all from source in order to create dynamic web pages using those technologies. Now it all comes packaged together and just works.
I work in a Java shop. Before coming here everything I did was either in Delphi for Win32 development or Perl for Linux or PHP for the web. There are some barriers to entry with Java, having to run Tomcat or some other container in order to run JSPs, etc.
Installing the JDK is far simpler than the early days of having to install PHP, Apache and MySQL from source used to be, but Tomcat can still be a pain especially if you need to run it with Apache.
-- Dave Hull http://insipid.com
On Thursday 17 February 2005 10:43, Jeremy Turner wrote:
Java had the first crack at being platform independent. It got a reputation at being very slow in the beginning, and many people still repeat that. It will never be as fast as C (neither will Perl). I haven't compared the emulation percentage of Mono to .NET verses open implimentations of Java to Sun's Java, in other words how completely does the open source implimentation stack up to the propriatary one.
Also, C# is an ECMA standard. I'm not sure if Java is.
As I recall, the Great Win32 language shootout uncovered that Mono 1.0 leaves a lot to be desired in the performance area versus the official implementation. However, Mono 1.1 was supposed to address a lot of that.
I don't think Java is ECMA. There's the Java Community Process which is something of a formal standardization mechanism but Sun is the final arbiter of such voting.
On Thu, 17 Feb 2005 10:43:18 -0600 Jeremy Turner jeremy@linuxwebguy.com wrote:
Perl has lots of shortcuts, like the implicit @_ and $_ variables from loops, and what not. This saves time and script size, but can make it difficult to read for other programmers. I think Perl needs a good deal of commenting. Of course, no language is immune from the need of good comments. =)
A bad programmer can make any programming language hard to read. In these modern times if you are worried about saving a few bytes of the size of your source you are seriously just wasting your time.
I've been a Perl programmer for years and never used the implicit @_ and $_'s except in "one time use/throw away" scripts. They really don't save you any time and only cause confusion for others and yourself when in maintenance mode.
Java had the first crack at being platform independent. It got a reputation at being very slow in the beginning, and many people still repeat that. It will never be as fast as C (neither will Perl). I haven't compared the emulation percentage of Mono to .NET verses open implimentations of Java to Sun's Java, in other words how completely does the open source implimentation stack up to the propriatary one.
Also, C# is an ECMA standard. I'm not sure if Java is.
Actually Perl was around first and is still to this day more successfully platform independent that Java. While I agree that Java/Perl/C#/etc will never be "as fast" as a well written C program, the difference these days is so small it doesn't matter.
If you're really worried about the couple of milliseconds difference you are spending your time worrying about the wrong things.
The cost/time difference of developing an application in C vs the speed benefit just doesn't make sense. Save yourself 75% of the development time and put $20 more processor in your box. ;)
--------------------------------- Frank Wiles frank@wiles.org http://www.wiles.org ---------------------------------
On Friday 18 February 2005 10:39, Frank Wiles wrote:
Actually Perl was around first and is still to this day more successfully platform independent that Java. While I agree that Java/Perl/C#/etc will never be "as fast" as a well written C program, the difference these days is so small it doesn't matter.
If you're really worried about the couple of milliseconds difference you are spending your time worrying about the wrong things.
The cost/time difference of developing an application in C vs the speed benefit just doesn't make sense. Save yourself 75% of the development time and put $20 more processor in your box. ;)
Well, famous quotes are dime-a-dozen but this one comes from Alan Kay, the inventor of SmallTalk and quite possibly one of the more brilliant people alive in Computer Science, today:
"Like I said, it’s a pop culture. A commercial hit record for teenagers doesn’t have to have any particular musical merits. I think a lot of the success of various programming languages is expeditious gap-filling. Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. Basically, a lot of the problems that computing has had in the last 25 years comes from systems where the designers were trying to fix some short-term thing and didn’t think about whether the idea would scale if it were adopted. There should be a half-life on software so old software just melts away over 10 or 15 years."[1]
Not to say that a nice bang-up language isn't useful every now-and-then but it's hardly a reason to throw C away.
And before you flame Alan, he also said later in the interview that he didn't know anyone alive that knew how to design a good programming language.
[1] http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=273&...
The whole interview is a great read.
On Fri, 18 Feb 2005 11:01:55 -0600 Jason Clinton me@jasonclinton.com wrote:
Well, famous quotes are dime-a-dozen but this one comes from Alan Kay, the inventor of SmallTalk and quite possibly one of the more brilliant people alive in Computer Science, today:
"Like I said, it___s a pop culture. A commercial hit record for teenagers doesn___t have to have any particular musical merits. I think a lot of the success of various programming languages is expeditious gap-filling. Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. Basically, a lot of the problems that computing has had in the last 25 years comes from systems where the designers were trying to fix some short-term thing and didn___t think about whether the idea would scale if it were adopted. There should be a half-life on software so old software just melts away over 10 or 15 years."[1]
Not to say that a nice bang-up language isn't useful every now-and-then but it's hardly a reason to throw C away.
And before you flame Alan, he also said later in the interview that he didn't know anyone alive that knew how to design a good programming language.
[1] http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=273&...
The whole interview is a great read.
I'm sure he's a smart guy, but I disagree with this quote. Yes Perl was originally designed to fill a short term need. However, I really don't see how it is now a "long term problem".
Yes, there are nasty spaghetti Perl applications out there, but this is a problem with the developers, not with Perl itself.
Also, I wasn't saying to throw away C. I just hate it when people make Perl ( and most other scripting languages ) out to be so much slower than a compiled app. In all honesty the difference these days is so small it's difficult to detect in properly written programs.
--------------------------------- Frank Wiles frank@wiles.org http://www.wiles.org ---------------------------------
On Friday 18 February 2005 10:39 am, Frank Wiles wrote:
If you're really worried about the couple of milliseconds difference you are spending your time worrying about the wrong things.
The cost/time difference of developing an application in C vs the speed benefit just doesn't make sense. Save yourself 75% of the development time and put $20 more processor in your box. ;)
The problem is when all of the developers on a complex system of software take that same attitude, and you end up with massive code bloat. There is a place for optimization and efficiency in all applications.
"Just because you can doesn't mean you should."
On Fri, 18 Feb 2005, Jonathan Hutchins wrote:
On Friday 18 February 2005 10:39 am, Frank Wiles wrote:
If you're really worried about the couple of milliseconds difference you are spending your time worrying about the wrong things.
The cost/time difference of developing an application in C vs the speed benefit just doesn't make sense. Save yourself 75% of the development time and put $20 more processor in your box. ;)
The problem is when all of the developers on a complex system of software take that same attitude, and you end up with massive code bloat. There is a place for optimization and efficiency in all applications.
That place is after all the functionality you want in a release is implemented and working properly. Then you go back and look for ways to make it faster. People who start optimizing too soon usually spend way too much time getting 2 cycles out of a loop and not enough on the big picture.
//========================================================\ || D. Hageman dhageman@dracken.com || \========================================================//
Quoting "D. Hageman" dhageman@dracken.com:
That place is after all the functionality you want in a release is implemented and working properly. Then you go back and look for ways to make it faster. People who start optimizing too soon usually spend way too much time getting 2 cycles out of a loop and not enough on the big picture.
Indeed, the software "engineering" literature speaks about the evils "premature optimization".
-- Dave Hull http://insipid.com