Slashdot Mirror


Ask Slashdot: No-Install Programming At Work?

An anonymous reader writes "Hello! Every summer (and other holidays) the work load at my job becomes minimal. I like scripting (HTML, CSS etc.) and would like to get into programming just to tinker a bit due to curiosity. At work we are not allowed to install anything except company approved software. Is there something I can program in that has an IDE like PortableApps.com? I guess I am asking for a recommendation on both language and IDE at the same time. Again, I want to reiterate that this is to satisfy my tinkering curiosity and thus not need something great, just something more advanced than HTML/CSS."

18 of 386 comments (clear)

  1. Codeacademy by Anonymous Coward · · Score: 4, Informative

    Codeacademy.com

    1. Re:Codeacademy by Hognoxious · · Score: 4, Funny

      When I see that word it makes wonder what a deacademy is, and why two or more might unite.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  2. Portable Python? by PCM2 · · Score: 4, Interesting

    You don't say much about language preference, but would Portable Python fill the bill? I know you asked for an IDE as well, and there might be options for that -- or really any text editor will do -- but this might be a place to start.

    --
    Breakfast served all day!
    1. Re:Portable Python? by PCM2 · · Score: 5, Informative

      Actually, if this is the guy's first forays into "proper programming," I'd tend to maybe steer clear of an IDE, and certainly something as complex as Eclipse. You don't really need it, and a big IDE like that just becomes one more thing to learn, i.e. one more barrier to entry. If what you want to do is write a program and get that magic feeling of watching the program run and seeing it do what it's supposed to do, then just rush on in and do that! No need to learn some IDE. IDEs are great for people who do programming every day and who have to maintain big code bases and work within a group. But if all you want to do is learn to program, I say skip it for now. Save it for when you start doing something ambitious and the tools an IDE gives you are actually useful.

      --
      Breakfast served all day!
  3. Eclipse by Anonymous Coward · · Score: 5, Informative

    it's possible to run eclipse without installing anything, just from the executable in the directory.

    also, BlueJ i think you can do the same thing.

    Eclipse has a built in java compiler too i believe so you don't need to install the jdk.

  4. Professional development by tepples · · Score: 4, Insightful

    Or you could learn to be more creative in justifying your learning to managers.

  5. JavaScript by Anonymous Coward · · Score: 5, Informative

    Your browser already supports it. Just fire up Notepad or Wordpad as your "IDE".

    1. Re:JavaScript by UnknownSoldier · · Score: 4, Informative

      > could you please tell me where the language is fundamentally broken ?

      I do WebGL development and for the most part enjoy the quick turn around time. (Thank god for "ShaderToy" www.iquilezles.org/apps/shadertoy/ )

      While Javascript is a breath of fresh air from hard-core C/C++ work, Javascript is a piss poor programming language ...

      0. typeof() is broken w.r.t. to arrays
      var a = [];
      console.log( typeof( a ) ); // does NOT return array, but object?!

      1. Variables by default can be used anywhere without being declared. Have a typo? You will most likely never catch it unless
      a) using an IDE
      b) using the hack
            "use strict";
      by placing that literal string hack near the top of your .js file

      2. Stupid semicolon statement insertion.

      3. ALL numbers are doubles. There are no native signed or unsigned or ints, nor floats. Doubles SUCK for performance especially when all you want & need is integer math.

      4. No proper line concatenation
      i.e. var a = "....\
      foo\
      bar\
      "; //

      Technically one shouldn't be able to escape the new line character, but it works ... for now.
        http://bclary.com/2004/11/07/#a-7.8.4
      "A 'LineTerminator' character cannot appear in a string literal, even if preceded by a backslash \. The correct way to cause a line t
      terminator character to be part of the string value of a string literal is to use an escape sequence such as \n or \u000A."

      Haven't they learnt ANYTHING from C, Python, etc. ??

      5. You have to very careful when doing (string) concatenation else you may not get what you expect.

      6. No native way to include .js files inside another .js file and have a callback unless you write it yourself. i.e.
                      var head = document.getElementsByTagName('head')[0];
                      var script = document.createElement('script');
                      script.type = 'text/javascript';
                      script.src = url;
                      script.onload = callback;
                      head.appendChild( script );

      7. The return statement is broken w.r.t whitespace. You can't have return on an empty line.
      i.e var foo = (function( callback ) {
            return // doesn't work!
                      1;
            }

      8. All the debuggers suck ass. Good luck get it to show anonymous functions properly!

      I could go one, but for a more complete list, see
      http://oreilly.com/javascript/excerpts/javascript-good-parts/awful-parts.html

    2. Re:JavaScript by Anonymous Coward · · Score: 5, Interesting

      Most of those are legacy, but you can live with that

      1. "use strict;" is not a hack, but an official part of ECMA-262 v5 (and it should be mandatory for dev environment and should be mandatory OFF for release). And it can't be on by default for fear of breaking old and shitty code.
      2. Only catches about ASI are "return\n2+2" (gonna be interpreted as "return; 2+2", see also your 7) and "var a = someFunction\n(expressioninparensonnextlineforsomereason())" (gonna be interpreted as function call, "someFunction(expressioninparensonnextlineforsomereason())")
      3. Modern JS engines optimise the numerics well enough. You can also use typed arrays for performance - if you're writing performance sensitive JS code, you're probably doing it in an environment that supports them, anyways.
      4. String continuation like that is in ECMA-262 v5 officially and in browsers long before that unofficially - at least IE6 already has them, and you won't probably deal with anything before.
      5. As long as one side of + is string - you get string. What you really have to care about is _addition_, because you might accidentally get concatenation (can't count how many times I saw "123.5undefined" on shitty sites). They really should have chosen separate concatenation and addition, but in personal practice I've had almost no problems of this kind
      6. This is consequence of trying to make JS too general - the spec and standard library basically has nothing related to execution environment. They should've included module system, but they've got _no_ I/O at all in the spec.
      8. I don't think there are many languages where debugger just shows you the closure's variables. You have to step inside, and you'll see the closed variables in the scope, though.

      All in all, JS sucks about just as much/as little as any other language out there.

  6. Re:Remote Desktop by kiwimate · · Score: 4, Insightful

    If they are not allowed to install anything not on the list, remoting to a PC outside of the company firewall is probably a firing waiting to happen.

  7. Here you go: by Georules · · Score: 5, Informative
  8. Re:Uhh by jtownatpunk.net · · Score: 4, Insightful

    ^^^Ding ding ding!!!^^^

    The ownership of anything you do during your work hours would be in question (at best). Most likely, if you're in IT, you've signed something that says anything you create while on the clock belongs to your employer and there would be no question at all. They're paying you to do the work they provide. If they can't keep you busy and you don't want to be paid to sit on your ass, find an employer that can keep you engaged.

    If you insist on doing personal stuff during work hours, at least be smart enough to do it on your own equipment. You can get a brand new craptop for under $300. Frys has 7 15" laptops between $249.99 and $299.99.

  9. Re:Uhh by Pf0tzenpfritz · · Score: 5, Funny

    The ownership of anything you do during your work hours would be in question (at best). Most likely, if you're in IT, you've signed something that says anything you create while on the clock belongs to your employer and there would be no question at all.

    OMG. So his employer might pantent "Hello World", if he get's caught learning to program at work!!

    --
    Oh, the beautiful gloss of greality!
  10. Re:Uhh by History's+Coming+To · · Score: 4, Interesting

    My previous employer included something along the lines of "any program or invention written while in our employ belongs to the company, whether or not it relates to the business".

    Simple solution, point out that this includes ownership of any malware I might write.

    --
    Please consider this account deleted, I just can't be bothered with the spam anymore.
  11. Re:Uhh by Jane+Q.+Public · · Score: 4, Interesting

    "The ownership of anything you do during your work hours would be in question (at best)."

    He was asking about learning how to program. It is not likely that he will come up with the next "killer app" in the process. Although what you say is good advice, it probably could have waited a year or two.

    As for paying work, he already stated that work was slow. Better that he spend the time learning something that might be somewhat job-related, than spend half a day on Reddit.

  12. Re:Uhh by swillden · · Score: 4, Insightful

    The ownership of anything you do during your work hours would be in question (at best).

    Which is relevant how?

    His goals are to learn something and pass the time, not build the next killer app. How does it his employer potentially owning the code he writes interfere with those goals?

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  13. Re:Uhh by master_kaos · · Score: 5, Interesting

    Glad I don't work at a place like that. At my place when it is slow I am pretty much allowed to do whatever I want (managers approval). I usually tinker around with technology that I normaly do not get to use. Quite a bit of my tinkering arond has made me a better developer, as well as introduced new technology into our existing projects to make them even better. My boss was so pleased with my "screwing around" that now he has implemented a google style "20% time" (as long as no major deadline for something) where we can do whatever he hell we want one day a week (although generally I find it more efffective saving the days and doing 4 days in a row). Can do anything from playing with technology, to reading tech magazines, reading development books THe thing my manager loved the most that I did was screwing around with solr which we ended up implementing into our flagship product and upping revenue by 15%

  14. Re:Uhh by pla · · Score: 4, Informative

    What the hell do all of you "oooh, don't do it, if they want you to sit there and drool, you'd damned well better sit there and drool" people have wrong with you? Because seriously, mere subservience doesn't suffice to explain it.


    Unless you are hired to learn new things to expand job responsibilities then you are stealing. 90% of the real world would be fired or would be laid off as it shows his boss over hired. I find this practice unethical.

    Stealing? Chill on the hyperbole. Very few jobs involve an even 24/7/365 workload; many have seasonal variations, some have monthly variations, some have huge daily swings. And although you can hire and fire untrained salesdrones and telemarketers on a whim, you don't just get rid of 30% of your accounting staff because the 2nd week of the fiscal month doesn't have much to do.

    The average office worker spends their down time playing Solitaire, or if allowed to go online, reading Facebook or sports news. I wish some of my coworkers would do something like learn a new skill instead. That said, I have nothing against Solitaire, but as long as you have people on the clock but no work for them to do, why not encourage them to do something at least tangentially productive?


    This guy wants to learn to program while staying within the company rules - He didn't ask how to root his machine to install a compiler, he didn't ask how to hide his activity, he just asked for a no-install coding playground.

    We freed the slaves in the late 1800s. Stop acting like one.