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."

28 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. Remote Desktop by CyberBill · · Score: 3, Insightful

    Use a web-based (GoToMyPc.com?) or pre-installed remote administration app (Windows Remote Desktop? maybe VNC?) - or install RealVNC and use it's web app. Then control your home PC and run whatever IDE and language you prefer. I'd recommend Visual Studio Express and C# or C/C++, but that's just personal preference.

    --
    -Bill
    1. 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. What about an online IDE? by Shimdaddy · · Score: 3, Informative

    I don't know how much debugging type stuff you want to do, but you might enjoy using a web-based IDE like IDE One. You can use any language you want, and if I were you, I'd type my code in a text editor that allows for syntax highlighting, like Notepad++, which can be run without an install.

  9. Here by ultranerdz · · Score: 3, Interesting
  10. 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.

  11. 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!
  12. Re:General Interface is what you're looking for by Jane+Q.+Public · · Score: 3, Funny

    OP has admitted to not being a programmer.

    I think you just jargoned him into an afternoon nap.

  13. 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.
  14. PythonAnywhere by jashsu · · Score: 3, Insightful

    Because you explicitly asked for both a recommendation on an install-free solution as well as a language. https://www.pythonanywhere.com/

  15. 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.

  16. C# and a console by luckymutt · · Score: 3, Interesting

    I found myself in a similar situation at a previous job where I was bored out of my skull due to a lack of work at the company during the down economy.
    So I decided to teach myself some more programming skills.
    Unfortunately, I was in the same position where I couldn't install anything.

    Find csc.exe on your machine. All Windows machines have this. Buried down in here: C:\Windows\Microsoft.NET
    Put it in your path.
    Now you can write all the C# applications you want in Notepad. If you can get Notepad++ then it would make it a lot easier as it has code-coloring/indentation. I was able to install it by bringing the installer in on a flash drive. Being just an advanced notepad, I didn't worry about what would happen if someone noticed the install.
    You can compile it via the command line with >csc.exe
    You'll then have a nice little executable of whatever you made. And you may be surprised how complex of an application you can make this way...maybe you wouldn't. This approach sure helped fill my days for a while there.

  17. Re:Uhh by fluffy99 · · Score: 3, Insightful

    Or his employer might decide he's not being productive if he has time to "play" with non-work related stuff. Why not ask you boss for permission? Otherwise, generally if you're not allowed to install software there is also a policy that you will not run unauthorized software either.

  18. 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.
  19. Re:Uhh by Billly+Gates · · Score: 3, Informative

    I agree.

    My first thought was holy crap! You are being paid to work what are you thinking? I am shocked no one hear besides myself (modded down to 1) brought this up.

    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.

    Do that at home where it belongs and if things die down at work there is always something to do so you do not need to put out fired later at the worst possible time when things are busy. QA, testing, code refactoring, etc. The owners and customers need to find value in what you do and if you do not like it quit and go back to school to learn or start your own company.

    Maybe I am just old fashioned but from where I have worked and what I have seen just asking this is astounding as who pays the bills?

  20. Quite a Few Online IDEs to chose from. by monk · · Score: 3, Informative

    I take your question to mean that you want to program but aren't allowed to add anything to your work machine, including binary files that don't require an installer to run. That's typically how I've seen that sort of rule interpreted.

    You mentioned an interest in HTML/CSS and presumably javascript.

    You might enjoy JSFiddle

    If you would like to try other languages or other approaches, there are online IDEs for that too:

    ShiftEdit - Online IDE | ShiftEdit
    ECCO -Web-based IDE
    Cloud IDE
    WIODE
    CodeRun
    Cloud9 IDE
    http://www.codeanywhere.net

    And some more lists and reviews:
    http://speckyboy.com/2010/07/25/the-most-powerful-and-feature-rich-web-based-code-editors-ides/

    Another option would be to look at some of the free shell account vendors online, but you seemed mostly interested in GUI IDEs so that might not be your thing.

    If you want a fun, short read about why you might want to reconsider the command line, check out In the Beginning Was the Command Line by Neal Stephenson

    --
    [-- Trust the Monkey --]
  21. 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%

  22. 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.

  23. Re:Uhh by fluffy99 · · Score: 3, Insightful

    In your inexplicable urge to sound high and mighty, you totally missed the point. Yes, I read the question, and I totally recognize that some jobs have surges and slow times. Had a few like that myself and had bosses that praised my initiative in learning while idle, and one that told me to go home because he wasn't paying me to fart around.

    What I was pointing out was that if he's idle and wants to do something he thinks might be a useful, then he should let his boss know. Particularly if that action could be viewed as violating some IT policy and might be used as an excuse to shitcan him. Keep in mind that non-tech HR types will be happy to call it hacking software if they are trying to fire you.

    Bottom line is that being sneaky about this is not a good idea.