Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
Programming IT Technology

Do Scripters Suffer Discrimination? 1216

TheTheologian writes "In his InfoWorld column, Chad Dickerson says 'there is a level of quiet discomfort between the "scripting" versus "programming" factions in some corporate development environments in which I have participated. In some instances, executive-level technology management has held scripting languages in disdain as not being "real" languages for day-to-day problem solving, which has discouraged highly talented scripters on staff from practicing their craft. In such an environment, scripters are relegated to the lower ranks ... ' He goes on to say that some companies will assign Java and C++ programmers tasks that take them weeks but could be done by Perl or Python programmers in a few hours. Is it true that some companies are so overcome with code bias they'd assign weeks of unnecessary work rather than give it to the scripting untouchables?"
This discussion has been archived. No new comments can be posted.

Do Scripters Suffer Discrimination?

Comments Filter:
  • by vivek7006 ( 585218 ) on Monday February 24, 2003 @04:11PM (#5372577) Homepage
    "Typically these jobs that take weeks instead of hours are assigned to the wrong people, not the wrong language."

    Not always. Most of the time, the choice of language is not in the hands of the programmer. Its the pointed hair manager who decides, which language to choose. And most of the time he has no clue, so he sticks with the *standard* C/C++ or Java. (and not Python even though it may be better in some cases)
  • Re:PSST (Score:1, Informative)

    by Anonymous Coward on Monday February 24, 2003 @04:25PM (#5372737)
    I'm afraid you are incorrect. The difference between a compiled language, such as C, and an interperted language, such as Perl, is that the interperted language needs another program to execute its instructions (the interperter). Calling both the compiler and the interperer as the same "middleman" is misleading. The compiler is run once to produce a binary executable. An interperter is run every time you wish your code to execute.

    Of course if Perl is compiled into a binary executable, it becomes the same as C, but I believe this is not commonly done.

    Also, assembly and machine languages are not the same. Assembly code needs an assembler to translate it to binary machine code. However, it is indeed more difficult to code and debug.
  • by Ron Harwood ( 136613 ) <harwoodr@nOspaM.linux.ca> on Monday February 24, 2003 @04:28PM (#5372774) Homepage Journal
    I have written [blacknova.net] a web-application (game) in PHP... and a friend who is a java snob (he feels no other language is worthwhile any more... and I have to listen to it... :P) constantly is saying thing like "well in java - that problem doesn't exist because [insert long winded arrogance]", or "loose types are a short path to hell - and that's where you're headed with PHP" and "PHP isn't a real language anyway - no one would use it at an enterprise level"...

    Pointing out that Yahoo is now using it as their default language - and that Rasmus (author of PHP) actually was hired by Yahoo as a result is simply dismissed as bad judgement on their part.

    It's like arguing religion or politics... :P

    So I just sit back and listen to the tirade - and try not to egg him on...
  • This is like saying that speaking another language will make a difference in mathematics.

    No, I think it's more like a mathematician using calculus to solve the area under a curve, versus someone who uses graph paper and counts the boxes to arrive at an approximate answer. Both get to an answer, but one has a much higher understanding of the nature of the answer.

  • Re:perhaps... (Score:3, Informative)

    by bwt ( 68845 ) on Monday February 24, 2003 @04:44PM (#5372923)
    Script are good for quick and dirty work, but when one come two years after do to maintenance, good plain old langage are perhaps best.

    I'll take python over C in a maintainability contest any day. Pointers and memory management are notoriously hard to maintain.
  • by redhog ( 15207 ) on Monday February 24, 2003 @04:53PM (#5373007) Homepage
    Some of the scripting languages are not "real" programming languages, as they do not encourage style and discipline. But this has nothing to do with them being interpreted or being "scripting languages". For example, all of Scheme, Python and Java (all three interpreted, the two first often seen as only with the title "scripting languages", even though Python has a bytecode interpreter, and there are compiles for Scheme) encourages good coding-style, documentation and code structuring.

    I will not sink to the level of the trolls and name any scripting languages which do not encourage good code structuring, documentation and style, but will leave this as an exercise to the reader.
  • Re:Certainly not (Score:4, Informative)

    by RJM ( 25342 ) on Monday February 24, 2003 @04:54PM (#5373011)
    CSS is in a wierd niche - unneeded for simple pages, and too weak to do what Flash can do. Most of what CSS is usually used for can be done on the authoring side, with Dreamweaver templates or something similar. CSS also interacts badly with firewalls and proxy servers that edit out hostile content. If you really need exciting animated graphical effects (and you usually don't), Flash has far better capabilities.

    Wow, such a complete misunderstanding of CSS... CSS is intended to separate content from presentation. That's it. It has nothing to do with Flash or "exciting animated graphical effects".

    It's unfortunate that CSS is so misunderstood, as it is really a quite elegant model for web presentation.

  • Re:Sure, but (Score:5, Informative)

    by Khalid ( 31037 ) on Monday February 24, 2003 @04:59PM (#5373068) Homepage
    John Ousterhout (the guy who did Tcl/Tk) wrote a wonderful article about scripting which changed my view about scripting languages : http://www.tcl.tk/doc/scripting.html, I don't know if this is the original one, but I think it still contains his main ideas.

    His main point is that all the basic infrastructure API and so on, what he calls system programming should be done in compiled language (like C, C++, etc) and offer clean API to applications aprogrammers, because experience shows that people are much more productive in interpreted languages, and you can change much easily. Well, he has has many other points but this the most important I recall.

    One of the nice way you could to this is by using SWIG : http://www.swig.org which helps you all your API from many scripting language (Perl, Python, Shell, etc)
  • Re:I disagree 100% (Score:5, Informative)

    by Anonymous Coward on Monday February 24, 2003 @05:08PM (#5373158)
    modern scripting languages are every bit as maintainable as C, C++, or Java.

    Maybe not quite true for Perl, but for Python, this is an understatement.

    I've never seen code written in any low-level lanugage, much less in Java (!) that was half as readable as the equivalent code written in python

    The only real disadvantage of interpreted/scripting languages is raw power. They are just a greater abstraction from pure machine code than lower level languages like C, etc., which are themselves abstractions from that machine code.

  • by tunah ( 530328 ) <sam AT krayup DOT com> on Monday February 24, 2003 @05:13PM (#5373205) Homepage
    I remember a joke that circulated around the internet about the evolution of a programmer. In the beginning was the beginning programmer with "10 HELLO WORLD"...

    Would that be this one? [ariel.com.au]

  • by Shads ( 4567 ) <shadusNO@SPAMshadus.org> on Monday February 24, 2003 @05:29PM (#5373398) Homepage Journal
    bad form is a maintenance coders nightmare regardless of language. The stricter languages can be written in as poor a form as any given script language. I've had to maintain some c and java code that could easily have been entered in an ob* code contest.

    My perl code looks better than 90% of peoples java code... easy to read, well documented, modular, etc.

    A coworker of mines java code is about as readable as a foreign language to an alien.

    Shrug, don't put off on a language what is entirely in the realm of the individual developer.
  • by njdj ( 458173 ) on Monday February 24, 2003 @05:47PM (#5373554)
    I'm basically a C++ programmer, but I like and use Perl for smallish text-processing tasks.

    However, the main reason I see for preferring C++ for long-lived projects is one that has not been mentioned here: the stability of the language specification. The specification of C++ is extremely thorough, and changes glacially slowly. That's a big advantage for software that will have a long life. Remember, folks, that the main work that programmers do is not developing code. It's maintaining code. I've only ever used Perl 5.x; I'd hate to have to maintain something written in an earlier version that didn't have references. And in a year or so, I wonder how someone who started with Perl 6 will like MY code ... probably not very much.

    All languages have this problem but C++ has it much less than Perl.

    As for the boundary between "real" programming languages and the wannabes: for me, the test is whether it's well enough specified that you can determine from reading the language spec whether a piece of code is valid, and if so, what it does. Perl passes this test. (well, 99%). Others, Ruby for example, don't. For this reason, I regard Ruby as a waste of time. But I'm very results-oriented. If you have a more playful disposition, YMMV.
  • Supportability (Score:5, Informative)

    by johndeaux ( 609338 ) on Monday February 24, 2003 @06:06PM (#5373755)
    I have dazzled many enterprises in an emergency by delivering Perl scripts in hours or days that do amazing things. BUT once the emergency was addressed and they began to look under the hood and saw it was Perl script they had me re-engineer it in C++ or Java (weeks to develop...) because they had no one on staff (besides me) that could support the Perl. They spent the money for the increased amount of time for development to reduce cost in long term support.
  • Re:I disagree 100% (Score:2, Informative)

    by SlashdotLemming ( 640272 ) on Monday February 24, 2003 @06:30PM (#5374046)
    On the other hand, I've seen C and C++ programmers come up with the most amazingly fucked up atrocities to get around the strongly-typed nature of those languages, to solve a problem that could have been clearly and elegantly solved with a dynamically-typed language.

    I'd be curious to see one of the problems where weak type checking allows for a "better" solution.

    Strong type checking is huge, especially in the realm of code maintenance. Someone taking over another's code has to worry less about documentation and digging through code just to see what type of object was stuck in a collection.
    Also, there are huge classes of bugs that can be eliminated with strong type checking. Bugs that would otherwise only be found at runtime.

    I think if a programmer can solve a problem better with dynamic typing, then its a case of programmer experience, not one of weak is better than strong.
    Just because I can't drive a back-hoe, it doesn't mean that a shovel is a better tool for digging large holes in the ground.
  • Re:Yes (Score:2, Informative)

    by FatherBusa ( 139333 ) on Monday February 24, 2003 @08:05PM (#5374929)
    Indeed. We have a term for this: Turing completeness. You can write enterprise software in asm if you're a masochist. You can write device drivers in awk if you're wierd. That doesn't mean you should do either of these things
  • by Thing 1 ( 178996 ) on Monday February 24, 2003 @09:54PM (#5375609) Journal
    Isn't there obfuscators for perl to buy/download?? THought it was. Not that I agree with obfuscating...

    Try Perl2Exe [indigostar.com] .

  • Re:On the contrary - (Score:3, Informative)

    by MSG ( 12810 ) on Monday February 24, 2003 @10:00PM (#5375648)
    I'd say that he could have made a valid point, but failed by a long shot. So the C program runs .5s faster than the Perl version. How much time does the perl version take? How busy does the system get at peak time? What's the cost of the system? How much time did it take to create the C version vs. the Perl version? How much money was invested (could be more than just the programmer's salary) to create that C version?

    You need a lot more information than was given to prove that writing the code in C and gaining .5s was a worthwhile investment.

    In order for the C version to be a worthwhile investment, you would have to at least prove that the Perl version was, during its lifetime, going to cost more in terms of runtime resources and maintenance than the C version. That could be a pretty hard sell.
  • a place for each (Score:2, Informative)

    by RussP ( 247375 ) on Monday February 24, 2003 @10:52PM (#5375954) Homepage
    I program in Tcl and Python, and they are great for a certain class of problems, but they are certainly not right for everything.

    For large projects that are shipped to a customer and must work right in the field, scripting languages are inappropriate. An air traffic control system, for example, should not be written in a scripting language.

    Having said that, Python is great for analysing air traffic data and for automated testing of air traffic control software. I know because I do just that routinely.
  • by dubl-u ( 51156 ) <2523987012&pota,to> on Tuesday February 25, 2003 @03:43AM (#5377242)
    what about the performance of .jsp and the like on non-massive hardware?

    It depends on how well you code.

    JSPs are translated to Java exactly once, so the performance is equivalent to regular Java servlets. For a good coder and using a modern VM with the run-time optimization, you can get performance reasonably close to what you can get with C.

    For one of my clients I built a pretty complex dynamic site. On the generic P733 box I have handy, I can easily pull 20 megabits, even though I've spent almost no time optimizing the site.

    The reason you see a lot of slow JSP sites is that Java is the language of choice for large corporate shops. On average, these outfits have many drawbacks:
    • Many of them pull data from large, slow databases or mainframe systems.
    • Many of them employ mediocre programmers who value job safefty above all else.
    • A fondness for process means that making big changes is hard.
    • A fondness for high-headcount teams makes it hard to get a coherent design and even harder to change anything later.
    • Throwing money at a problem is generally favored over thinking, especially if said thinking would result in opinions that would make somebody look bad.

    And that's just getting started. One of my clients had a team of twenty spend two years developing a site that was deployed on $2m in fancy hardware and software licenses. With three top-notch developers, I could have redone the whole thing in four months and run it all on maybe $10k of generic Intel hardware and free software.

    Of course, they never would have let me; even if one development manager had taken the risk, the others would have done everything they could to sabotage the project, as it would have made them look bad.
  • by Mr_Silver ( 213637 ) on Tuesday February 25, 2003 @09:25AM (#5378075)
    Isn't there obfuscators for perl to buy/download?? THought it was. Not that I agree with obfuscating...

    Perltidy [sourceforge.net] is a code re-formatter (like C's "indent").

    In that there is a --mangle and --extrude option which will do some fairly reasonable obfuscating.

The only possible interpretation of any research whatever in the `social sciences' is: some do, some don't. -- Ernest Rutherford

Working...