JavaScript WTF



  • I hate Javascript.  There is no design-time syntax checking, so I'm always chasing some trivial typo.  I refuse to get proficient at it because I can always get some script on the internet to accomplish what I little client-side crap I need.  So, I go out to a site from a guy name Dr. Design, and snag this code to close a pop-up window.  And it doesn't work.  WTF? 

    Shuan it's not a problem. As you are no doubt aware, a pop-up window requires a bit of <FONT color=#0066cc>javascript</FONT> to get going. Here's an example of the javascript you'd have in the frameset document, which would open the pop-up when the frameset loaded.

    In the following example we have the code for the frameset (frameset.<FONT color=#0066cc>html</FONT>) and one of its child frames, top.html

    frameset.html

    <FONT color=#990000 size=3><script language="javascript">
    // var settings holds the settings for the popup window

    var settings = "toolbar=1, scrollbars=1, location=1, status=1, menubar=1,  
    resizable=1, width=640, height=400";

    // windowUrl holds the url for the popup window

    windowUrl = "url/to/popup.html";

    // now let's open the popup window.

    outerName = window.open(windowUrl, 'innerName', settings);

    // function closepopup will be called to close the popup

    function closepopup() {
      outerName.close();
    }
    </script> </FONT>

    As you can see, frameset.html will pop-up a new window. The function closepopup will close the pop-up window when it is called. Now, here's the tricky part. We are going to call the function from the child frame.

    top.html

    <FONT color=#990000 size=3><HTML>
    <HEAD>
    <TITLE>TITLE>
    </HEAD>
    <BODY>
    <a href="http://forums.worsethanfailure.com/forums/AddPost.aspx?ForumID=18#" mce_href="http://forums.worsethanfailure.com/forums/AddPost.aspx?ForumID=18#" onclick="parent.closepoup()">close pop</a>
    </BODY>
    </HTML></FONT>

    <FONT color=#990000 size=3></FONT> 

    Why doesn't this work? Because Dr. Design is calling the non-existent function "closepoup". We should start a "Why Javascript Sucks" forum.


  • While I agree that not having syntax checking does make Javascript a bit difficult to find these problems, that issue here isn't javascript.

    Anyone posting code to share online should at least test their code first.  The good "doctor" failed on this.  This is completely his own fault.  This problem happens a lot no matter what language.  If you don't test, you WILL post bugs.



  • @TunnelRat said:

    I refuse to get proficient at it because I can always get some script on the internet to accomplish what I little client-side crap I need.

    ... 

    We should start a "Why Javascript Sucks" forum.

    I think we just nailed it in your case.



  • I also happen to hate writing Javascript.  It's just about the most difficult language to test. 



  • I don't get it. How is this a JavaScript problem?

    The guy made a typo. Like you said, this is a tiny piece of trivial code... it could have only taken 2 minutes (TOPS) to figure out the problem.

     And 'design time syntax checking' is not a feature of the language, it is a feature of the toolset. I don't know why lacking that feature would make you hate the language. Try a new tool to develop in.

     Not to mention the error is actually in the HTML portion of the document....

     

     



  • Does anybody here actually believe that we will be writing Javascript in 5 years?  Isn't all this hackish, user-hostile scripting going to go away and be replaced by server-side controls or client-side libraries?



  • Well firebug might help tracking down problems like that.  Although in my experience firebug is a bit too clunky and "glitchy" to be usable sometimes.  But some people swear by it.



  • @TunnelRat said:

    Does anybody here actually believe that we will be writing Javascript in 5 years?  Isn't all this hackish, user-hostile scripting going to go away and be replaced by server-side controls or client-side libraries?

    No, because server side controls need a client side script to handle the data catching and transmission, and currently that script is JavaScript.  Even looking at ASP.Net and the server side controls in use, they always generate tons of JavaScript code to support them on the client.

    Now if you said instead that we wouldn't be writing the code and left it at that I might agree, but the client side scripting will still be there. 



  • Actually to add to my above statement.  The company I am with was using a 3rd party grid control.  The client side JavaScript it generated actually had a bug in it.  Can't fix that code at all because it only exists when the page is served.

     We decided to write our own because of this.  One little bug like that makes a big difference.
     



  • @TunnelRat said:

    I hate Javascript. There is no design-time syntax checking, so I'm always chasing some trivial typo.


    Write proper code.
    I never get that.

    @belgariontheking said:
    I also happen to hate writing Javascript.  It's just about the most difficult language to test.


    Write proper code.
    I never get that.

    @TunnelRat said:
    all this hackish, user-hostile scripting


    Write proper code.
    I never get that.

    @TunnelRat said:
    client-side libraries?


    And these built-in libraries will be accessed how?



  • @shadowman said:

    Well firebug might help tracking down problems like that.  Although in my experience firebug is a bit too clunky and "glitchy" to be usable sometimes.  But some people swear by it.

    Clunky and glitchy?

    The only glitch I've seen is how it handles the editable attributes in the HTML tree that are very wide and fall off-screen.

    Everything else feels robust and smooth. It's extremely useful. It's a godsend. But my work with it is mainly in the HTML and css part, and the more usable error console. I don't really fuck about with the debugger, setting breakpoints etc.
     



  • I think this: http://el.media.mit.edu/Logo-foundation/index.html might be more on TunnelRat's level.

    I think he could write a kick ass website! Just follow the turtle!



  • Call it ECMAScript, treat it like a functional language, and use it to do really cool things.  Suddenly JavaScript doesn't suck!  I love the language.



  • There really isn't much WTFism for javascript and pop up windows.... how about a "life sucks for tunnel rat" forum?



  • @belgariontheking said:

    I also happen to hate writing Javascript.  It's just about the most difficult language to test.

    Aptana.

    @TunnelRat said:

    There is no design-time syntax checking, so I'm always chasing some trivial typo.

    Aptana.

    @KattMan said:

    While I agree that not having syntax checking does make Javascript a bit difficult to find these problems...

    Aptana.
     

     



  • @dhromed said:



    @belgariontheking said:
    I also happen to hate writing Javascript.  It's just about the most difficult language to test.


    Write proper code.
    I never get that.

    Hard to believe that you never make mistakes writing code.



  • @belgariontheking said:

    @dhromed said:



    @belgariontheking said:
    I also happen to hate writing Javascript.  It's just about the most difficult language to test.


    Write proper code.
    I never get that.

    Hard to believe that you never make mistakes writing code.

     

    He didn't say 'Perfect'. He said 'proper'.

    Big difference to me... If the code is well designed from the start, debugging is always easier... etc, etc, etc 



  • @TunnelRat said:

    I hate Javascript.  There is no design-time syntax checking, so I'm always chasing some trivial typo.  I refuse to get proficient at it because I can always get some script on the internet to accomplish what I little client-side crap I need.  So, I go out to a site from a guy name Dr. Design, and snag this code to close a pop-up window.  And it doesn't work.  WTF? 

     


    I'll agree Javascript is hard to debug if you don't have the right tools. alert() and document.write() are NOT enough to do any serious debugging in a reasonable time frame. Firefox + Venkman = ideal. Unlike IE, FF will happily list ALL the errors it finds in the javascript console, and Venkman gives you a full debugging environment with the usual breakpoints, watches, and stepping goodness.

    Don't blame Javascript for the environment it's stuck in. It's a nice little language that's clean and easy to use. Your tpyos[sic] are your fault, not Javascript's.

    As for that popup sample, if you're hitting script "resource" sites to do a simple popup (1 line of code, unless you make it all "enterprisey" like that example), then you deserve whatever pain you got trying to fix it. And hey, so the example has a typo, go figure. 99% of samples out there don't work because they're just some code someone slapped in place off the top of their head, or retyped from the real source. Of course they'll have typos. View the page source and copy it ouf of REAL functional code, not the junk they typed up for the user (ie: you) to read through.


     



  • @TunnelRat said:

    I hate Javascript.  There is no design-time syntax checking, so I'm always chasing some trivial typo.

    Not built in, but there are some 3rd party solutions out there.

    Like jslint 



  • Thanks, I'll try Aptana, but since I code in ASP.NET, I barely need more than a few lines of client-side stuff (that's why I leech).   And Firebug helps me with most of that.



  • @TunnelRat said:

    Does anybody here actually believe that we will be writing Javascript in 5 years?  Isn't all this hackish, user-hostile scripting going to go away and be replaced by server-side controls or client-side libraries?

    Lol, do you actually understand how server side controls work?  they usually have tons of javascript.  and client side libraries?  Seriously?  How are these going to be accessed?  Maybe some kind of client side scripting language....hmmmm.... i know we could call it javascript!!!


    I must admit i don't get to work with javascript that often these days, i'm usually doing backend systems and winform apps but i must say when i do get to use it i quite like it(except for the browser compatibility issues).  The XmlHttpRequest + JSON is actually pretty powerful and can give your web apps that more applicationy feel which seems to be all the rage in the worlld of web 2.0. 

    So in short if people aren't using javascript in five years they'll be using something pretty damn similar 



  • Javascript is second only to SQL when it comes to useless error messages.  The only thing worse than "Could not convert undefined or null to object" is "Syntax error near {75% of query goes here}: please consult the manual".



  • @Cap'n Steve said:

    Javascript is second only to SQL when it comes to useless error messages. The only thing worse than "Could not convert undefined or null to object" is "Syntax error near {75% of query goes here}: please consult the manual".

    That's MySQL - other SQL vendors have decent error messages. And in FF, the javascript error console is good enough for me. To the OP: Running your javascript code thru JSLint is as good as compiling.
     



  • @Cap'n Steve said:

    Javascript is second only to SQL when it comes to useless error messages. The only thing worse than "Could not convert undefined or null to object" is "Syntax error near {75% of query goes here}: please consult the manual".

    The error messages are done by the browser and are not a feature of the language.

    The uselessness is Microsoft's js messages. FFX/Firebug will provide usable messages. The very best built-in error handler is Opera's. Damn that's good eats. I can't say anything about external debuggers because I never use them.

    PS.
    The IE errors that come closest to being equivalents of the MySQL ones you mentioned I actually find worse:
    - "undefined is null or not an object"
    - "Syntax error"

    And it never gives you the right line because IE rewrites your code before it parses it.



  • I don't know about Firefox, but I use Opera as my main browser so I know it has an error message that's very close to what I posted.

    Now that I think about it, Firefox did save me once when no other browser displayed an error message (I think I left a closing bracket off a try/catch block).



  • @dhromed said:

    And it never gives you the right line because IE rewrites your code before it parses it.

    Not that you could do anything with it, because notepad (being the default source editor) doesn't have line numbers... (I've just noticed a grayed out View -> Status Bar option, does anyone know what that is about?) Heck, Notepad even has a bug which will occasionally destroy some of your text and scramble the rest!


    FF/Opera clearly have end user satisfaction among their goals. I wonder what IE has...


    As for the original post, nothing short of an IDE would give you syntax checking at design time (as clearly there is no compile-time in JS).



  • @aib said:

    Not that you could do anything with it, because notepad (being the default source editor) doesn't have line numbers.

    So you change the default source viewer :)

     



  • @dhromed said:

    @aib said:

    Not that you could do anything with it, because notepad (being the default source editor) doesn't have line numbers.

    So you change the default source viewer :)

    Meh! I'd rather change the default browser :). Another WTF is that some applications will just launch IE for web links, regardless of the default http:// handler... 



  • @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 



  • @aib said:

    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 

    I'd assumed it did.

    I checked a box in my text editor, not in IE's options. The Internet Options dialog does tell me now that Editplus is the HTML editor, though.



  • @aib said:

    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 

    C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe



  • @aib said:

    ... because notepad ... doesn't have line numbers... (I've just noticed a grayed out View -> Status Bar option, does anyone know what that is about?)

    Actually Notepad does have line numbers and you were even on the right track with the status bar option.

    It's just that they are generally not as convenient as in other editors and that Notepad refuses to show them if word wrapping is turned on... maybe some user got confused between logical and visible lines and sued MS because of psychological strain, I don't know.

    In any case, you need to turn off Format -> Word wrap. Then you can enable the status bar, which will show you the current line and column the cursor is in. More useful is Edit -> Go To (Ctrl+G) though, with which you can jump to an arbitrary line. Just as the status bar, Go To will be grayed out if you turn on word wrap.

    As for the OP, no comment. That guy just isn't worth any comments.

    JS is a powerful and, if used correctly, pretty elegant language. It does have it's fair share of WTFs but this one clearly isn't one of them. 



  • @dhromed said:

    @aib said:

    Oh, wait; you can't!

    I'd assumed it did.

    So did I. That was genuine astonishment, not ill-humored sarcasm :)



  • @tster said:

    @aib said:
    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 

    C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe


    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.



  • @aib said:

    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

    I vaguely remember that "View Source" in IE is the same as the "Edit" command on the right-click menu for HTML files, configurable in the same place as the normal file associations.  However, this was several years ago, so 1) I might be misremembering and 2) even if it was true back then, it might not apply to current versions of Windows/IE.




  • C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe

     

    mv: command not found

    cp: command not found

    chmod: command not found

     

    Please remember that the Windoze command line uses DOS commands. 



  • @Lingerance said:

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

    That sounds like WFP to me - a grand WTF in its own right. Rather than fix their security model so that certain critical system files could be made unmodifiable by a normal user, Microsoft introduced WFP: a system that constantly checks to see if those files have been changed, and if they have, replaces them with the original versions.

    It's just so wrong in so many ways. 



  • @asuffield said:

    @Lingerance said:

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

    That sounds like WFP to me - a grand WTF in its own right. Rather than fix their security model so that certain critical system files could be made unmodifiable by a normal user, Microsoft introduced WFP: a system that constantly checks to see if those files have been changed, and if they have, replaces them with the original versions.

    It's just so wrong in so many ways. 

     

    Depends how you look on it, most rootkit detectors do just that, they create a table of hashmaps for all the important files and executables. (/etc/passwd, /bin/ls, etc.. etc..) and notify you when these change. And i'm sure some will offer the option to replace the changed ones with the old version.

    Of course it's typical MS user interface logic to not give the user the option to tell it that the changes where made by the user itself, but the general idea is ok i think. 



  • @stratos said:

    @asuffield said:

    @Lingerance said:

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

    That sounds like WFP to me - a grand WTF in its own right. Rather than fix their security model so that certain critical system files could be made unmodifiable by a normal user, Microsoft introduced WFP: a system that constantly checks to see if those files have been changed, and if they have, replaces them with the original versions.

    It's just so wrong in so many ways. 


    Depends how you look on it, most rootkit detectors do just that, they create a table of hashmaps for all the important files and executables. (/etc/passwd, /bin/ls, etc.. etc..) and notify you when these change. And i'm sure some will offer the option to replace the changed ones with the old version.

    Of course it's typical MS user interface logic to not give the user the option to tell it that the changes where made by the user itself, but the general idea is ok i think. 

    Predictable house analogy: imagine if, instead of locking the door to your house, you built a complicated system to examine the appearance of each person to enter it with a video camera, identify whether or not they match the photographs on file, and if they don't, send a large robotic claw to grab them and toss them back outside again.

    Microsoft have done the software equivalent. The fact that they are not the first does not excuse this as an alternative to simply locking the damn door.



  • @Mal1024 said:


    C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe

     

    mv: command not found

    cp: command not found

    chmod: command not found

     

    Please remember that the Windoze command line uses DOS commands. 

    If you don't have cygwin, then I assume that you are intelligent enough to figure out what commands those map to.  Honestly, I was just offering a solution to their woes and you are hear complaining that my move and copy commands are not the same as yours.  Grow up. 



  • @tster said:

    @aib said:
    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 

    C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe

    Or you could do a quick google search to change your default source viewer the right way.  I did it a few months ago and came up with the answer quickly.  The page I found told me to go through the registry and change a value, but I think we're all competent enough to do that.

    In ten minutes I was using VIM for windows as my view source.  (Yes, it's my editor of choice).  However, IE doesn't give vim a file with .html as the extension, so I have to rig up vim to do syntax coloring, but even that's more than notepad will do.



  • I don't know what's better.  Hacking the registry to use the right program, or replacing a POS program with a good one...

     



  • @Lingerance said:

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

     It's called Windows File Protection.  Replace the notepad.exe found in \windows\system32\dllcache.  Then reboot.  Windows will automatically replace the one in \windows\system32



  • @Lingerance said:

    @tster said:
    @aib said:
    @dhromed said:

    So you change the default source viewer :)

    Oh, wait; you can't! Apparently, changing the "HTML Editor" in Internet Options -> Programs doesn't change the program associated with "view source".

    And I can't figure out what that "HTML Editor" does in the first place.

     

    The WTFs keep on coming! 

    C:\Windows\system32>mv notepad.exe notepad_save.exe

    C:\Windows\system32>cp <insert text editor of choice> ./notepad.exe

     C:\Windows\system32>chmod 777 notepad.exe

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

    Windows File Protection.  Notepad.exe is protected as an OS system file.

    MS describes the overly complex method to update the "View Source" editor here:
    http://support.microsoft.com/kb/q163606/



  • JavaScript and HTML are simply scripting and markups. Except for the really neat tools, you really shouldn't expect too much in advance. They do have some neat tools for scripting languages such as python that will check syntax and subtle errors, but for the most part, it is something the developer is expected to have skill doing and sometimes it takes some analysis or trial and error to get your script right.  I usually use Notepad++, it does the syntax highlighting for you (and in some languages, it will help keep your tabs lined up too). It doesn't check for errors, but that's my fault for putting them there :)



  • @asuffield said:

    @stratos said:
    @asuffield said:

    @Lingerance said:

    Unless you have my system which will replace any notepad.exe with window's default notepad.exe within ten seconds. Yet to figure out why.

    That sounds like WFP to me - a grand WTF in its own right. Rather than fix their security model so that certain critical system files could be made unmodifiable by a normal user, Microsoft introduced WFP: a system that constantly checks to see if those files have been changed, and if they have, replaces them with the original versions.

    It's just so wrong in so many ways. 


    Depends how you look on it, most rootkit detectors do just that, they create a table of hashmaps for all the important files and executables. (/etc/passwd, /bin/ls, etc.. etc..) and notify you when these change. And i'm sure some will offer the option to replace the changed ones with the old version.

    Of course it's typical MS user interface logic to not give the user the option to tell it that the changes where made by the user itself, but the general idea is ok i think. 

    Predictable house analogy: imagine if, instead of locking the door to your house, you built a complicated system to examine the appearance of each person to enter it with a video camera, identify whether or not they match the photographs on file, and if they don't, send a large robotic claw to grab them and toss them back outside again.

    Microsoft have done the software equivalent. The fact that they are not the first does not excuse this as an alternative to simply locking the damn door.

     

    Reminds me of the way FindFirstChangeNotification() works: It tells you when a file is changed, but not WHICH file. If I'm gonna diff DIR outputs anyway, I might as well create another thread and check for modifications myself. (Which I suspect is exactly what the API function does, by the way.)



  • @pitchingchris said:

    JavaScript and HTML are simply scripting
    and markups. Except for the really neat tools, you really shouldn't
    expect too much in advance. They do have some neat tools for scripting
    languages such as python that will check syntax and subtle errors, but
    for the most part, it is something the developer is expected to have
    skill doing and sometimes it takes some analysis or trial and error to
    get your script right.  I usually use Notepad++, it does the syntax
    highlighting for you (and in some languages, it will help keep your
    tabs lined up too). It doesn't check for errors, but that's my fault
    for putting them there :)

    That's a rather limited view --
    wrong, too.  There is no reason a scripting language should be any less
    amenable to good coding tools (or practices!) than a compiled one. 
    There are solid IDEs for many scripting languages (and an IDE of some
    quality for every language).  Python has Wing IDE, Javascript has
    IntelliJ IDEA (which now supposedly supports Ruby, too), etc.  And
    there's almost always an Eclipse plug-in for your given language: PyDev
    for Python, Aptana for Javascript, RDT for Ruby, PDT for PHP, EPIC for
    Perl, blah, blah, blah.



  • @bstorer said:

    @pitchingchris said:

    JavaScript and HTML are simply scripting and markups. Except for the really neat tools, you really shouldn't expect too much in advance. They do have some neat tools for scripting languages such as python that will check syntax and subtle errors, but for the most part, it is something the developer is expected to have skill doing and sometimes it takes some analysis or trial and error to get your script right.  I usually use Notepad++, it does the syntax highlighting for you (and in some languages, it will help keep your tabs lined up too). It doesn't check for errors, but that's my fault for putting them there :)

    That's a rather limited view -- wrong, too.  There is no reason a scripting language should be any less amenable to good coding tools (or practices!) than a compiled one.  There are solid IDEs for many scripting languages (and an IDE of some quality for every language).  Python has Wing IDE, Javascript has IntelliJ IDEA (which now supposedly supports Ruby, too), etc.  And there's almost always an Eclipse plug-in for your given language: PyDev for Python, Aptana for Javascript, RDT for Ruby, PDT for PHP, EPIC for Perl, blah, blah, blah.

     Thanks for letting me know. I program with C++ and C# almost all the time, but I got my feet wet a little bit lately with Python. I'm sure PHP is gonna be right around the corner and your suggestion was helpful.



  • @pitchingchris said:

    @bstorer said:

    @pitchingchris said:

    JavaScript and HTML are simply scripting and markups. Except for the really neat tools, you really shouldn't expect too much in advance. They do have some neat tools for scripting languages such as python that will check syntax and subtle errors, but for the most part, it is something the developer is expected to have skill doing and sometimes it takes some analysis or trial and error to get your script right.  I usually use Notepad++, it does the syntax highlighting for you (and in some languages, it will help keep your tabs lined up too). It doesn't check for errors, but that's my fault for putting them there :)

    That's a rather limited view -- wrong, too.  There is no reason a scripting language should be any less amenable to good coding tools (or practices!) than a compiled one.  There are solid IDEs for many scripting languages (and an IDE of some quality for every language).  Python has Wing IDE, Javascript has IntelliJ IDEA (which now supposedly supports Ruby, too), etc.  And there's almost always an Eclipse plug-in for your given language: PyDev for Python, Aptana for Javascript, RDT for Ruby, PDT for PHP, EPIC for Perl, blah, blah, blah.

     Thanks for letting me know. I program with C++ and C# almost all the time, but I got my feet wet a little bit lately with Python. I'm sure PHP is gonna be right around the corner and your suggestion was helpful.

    Just remember, "scripting language" is an iffy term.  If you read that a language is a scripting language and preconceive that it is somehow weaker or only for odds-and-ends programming, you're cheating yourself.  Treat them the same way you do C++ and C#: as Real Languages for Real Programmers.



  • @bstorer said:

    Just remember, "scripting language" is an iffy term.  If you read that a language is a scripting language and preconceive that it is somehow weaker or only for odds-and-ends programming, you're cheating yourself.  Treat them the same way you do C++ and C#: as Real Languages for Real Programmers.

    That's why the folks developing, using, and advocating them prefer the term "dynamic language."  They are far more dynamic than their compiled counterparts when it comes to exactly what you can do at run-time.  But that leaves me wondering, then: what does make something a scripting language?  Lua, AppleScript?

     


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.