Slashdot Mirror


Cheap Software Languages for NT?

JeanBaptiste writes: "I work for a small company that refuses to spend the money on visual studio. I need this (or some other language) to do my job (which isn't programming), and for about a year now I have had to use borland C++ 3.0 for dos to do the things that need doing. I know C/pascal/basic from years ago, but have not had to write any programs for work until recently. My question: Are there any cheap/free programming languages that will make a stable winNT/2000 app?" Well, there's ActiveState, which has perl, python, and assorted other packages and tools.

46 of 100 comments (clear)

  1. cygwin! by b-side.org · · Score: 4, Informative

    www.cygwin.com! free GCC compiler!

    click me! also, perl!

    python even has gui bindings for windows.. hell, so does java.

    --
    Indie rock lives! b-side!
    1. Re:cygwin! by Fweeky · · Score: 2

      > python even has gui bindings for windows

      I'm not sure about native Win32 GUI stuff, but Ruby certainly has some pretty decent OLE support.

      There's also support for native DLL API calls, and a free downloadable book (Programming Ruby).

      The syntax is nice and clean and the object model is lovely. The C API is rather good too; C/ObjC/C++ extensions often end up looking rather like Ruby.

      You can grab Win32 binaries from http://www.pragmaticprogrammer.com/, which includes a nice selection of bundled modules.

    2. Re:cygwin! by man_ls · · Score: 2

      I never got GCC to work on Cygwin.

      "Checking to see if GCC can produce executables...failed"

      no matter what I did. No installing apps for me.

  2. Cygwin is free by alanjstr · · Score: 2

    Not only can you use Cygwin for the command line, but you have access to most of the things available under linux. For example, you can build X apps.

  3. Having your cake and eating it too by Fair+Use+Guy · · Score: 2, Insightful
    My school sponsors a program that provides free legal advice to small businesses founded by graduates. We once worked with a client not unlike your own employer, who was concerned about wasting thousands of dollars on Cold Fusion licenses for his developers. We came upon the following solution, which is 100% legal because there is no way that it can be discovered unless your employer admits to it: make employees independent contractors who work from home and encourage them to "share" copies of Visual Studio. Some of the finer points of this are:
    • Independent contractors are responsible for their own payroll taxes and red tape. This eases the paperwork burden on your employer, and at the same time allows you to conceal a good deal of otherwise taxable income.
    • The BSA, SPA, and other assorted Software Nazis can not enter a private residence without a search warrant. It is nearly impossible to get a search warrant to look for pirated software. Thus there is no way to get caught doing this.
    • Your employer is absolutely not liable for your use of pirated software to do his work, as long as the software is not present on his own premises. You are absolutely not liable unless the pirated software is discovered, in which case the BSA must prove that you have never had a license for the software (hard) and must get into your house to do so (much harder). I have not been able to find a case in which a search warrant was obtained to investigate personal/business use of pirated software.
    • You will be entitled to unlimited free updates of Visual Studio, as long as Kazaa, Gnutella, and Freenet don't all collapse at once.
    • Your employer may partially subsidize your broadband connection.
    Another client of ours used a slightly different strategy: he used the Windows 2000 EFS (encrypted filesystem) to obscure the pirated copy of Office on each of the PCs in the workplace. His system administrator had a "remote panic button" which would lock down every system in the event of an audit. If the auditors can't break 3DES, they can't prove noncompliance and they would be forced to walk away empty-handed. Remember NOT to keep extra CD-R's of VS lying around if you use this technique.

    Whichever strategy you choose, I wish you the best of luck in exercising your fair use rights as a consumer.

    Fair Use of the Day:

    Gear v3.23 for Dos, OS/2 and Windows :s/n: G02632U89
    News Robot v3.3 32 bits :name/PhrozenCrew@Efnet.#PC96 code/shvppkmt
    Deepsky 98 1.03 :s/n: 082870
    F/A-18 Hornet (mac) :100-98-4298
    Adaptec EZ-SCSI v3.03 for DOS/Windows :s/n: 492848-01


    /fug
    1. Re:Having your cake and eating it too by dimator · · Score: 4, Insightful

      Wow, those are cool loopholes, but what it all boils down to is that you're still pirating software. I'm not sure a legit business would want to deal with the bad PR if someone did find out (through a disgruntled ex-employee perhaps?) that you only bought one copy of Office for N employees.

      If it was _my_ company, I would just look for alternative software like OpenOffice. Shafting the BSA and Big Software* is definitely a good goal though. ;)

      * I'm officially coining the term Big Software (same evil connotation as Big Tobacco), if it hasn't be coined already. ;)

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    2. Re:Having your cake and eating it too by stevew · · Score: 3, Informative

      There is another basic little hole in this scheme (that may have worked 10 years ago.) Anymore, the IRS considers you an employee if you work more than something like 50% time at a given employer (why I stopped being an independent contractor by the way.) The only way around this that I'm aware of is to become a corporation. So you are talking about EACH employee becoming their own corporation.

      Lots of trouble just because you don't use something that is already free! Why not Perl/TK or something equivalent if you have to do gui work? Then as others have mentioned, there is cygwin. There are LOTS of options here from the opensource community. Lay-off the bad advice for how the company should re-form itself (the IRS is wise to this, and will still hold the company liable for lack of paying withholding, etc!)

      --
      Have you compiled your kernel today??
    3. Re:Having your cake and eating it too by selan · · Score: 2
      I would be very wary of a company that forced me to be an independent contractor instead of a W2 employee, for a job that up until now had been done by an employee. It's basically a way for the company to save lots of money by having cheap employees and not have to provide benefits or (correct me if I'm wrong) pay payroll taxes.

      As a contractor, I would have to pay for my own health insurance, etc. without the benefit of being part of a group policy. I'd have to contribute my own money to the unemployment fund, or else I wouldn't be eligible for unemployment benefits if I got laid off.

      And all as a loophole to avoid paying for pirated software? Do I really want to work for a company like that? I wouldn't trust them for a minute.

    4. Re:Having your cake and eating it too by jerdenn · · Score: 2
      Nope, most of the older MSDN software requires either no registration key or a generic all-purpose key. It's generally known that all MSDN software that uses a 10-digit key will successfully install using the same generic key.
      The e-registration is only for newer versions of office applications - even VS.NET uses a generic key.

      -jerdenn

    5. Re:Having your cake and eating it too by jerdenn · · Score: 2
      Actually, it isn't really a hard and fast rule about percentage of time spent at a specific site, but a more general list of "20 questions".

      -jerdenn

  4. .NET by mustapha · · Score: 2, Interesting

    You can download the .NET SDK for free. It comes with a C# compiler, debugger and documentation. Just use Emacs or anything else you like as your editor.

    1. Re:.NET by paulywog · · Score: 2

      Or you can download sharpdevelop (sharpdevelop.sourceforge.net) and have a pretty slick, Visual Studio-like IDE.

  5. Are you asking the right question? by Mr.+Uptime · · Score: 5, Insightful
    I have been a software developer for the past 17 years. I have worked with DOS, Windows, UNIX, VMS, OS/390, and many other platforms. And I have to wonder whether you're really looking for a drop-in replacement for Visual Studio, or if you're looking to maximize developer and end-user productivity. And if the latter is the case, I have some recommendations for you.

    I am aware that commercial IDE environments for MS-Win32 development look nice and have many pleasing buttons, but where is the _real_ functionality?

    I have seen _nice_ development front-end tools. I submit that you have not seen the range of tools available, and that your area of development has not required the real, heavy-duty tools which UNIX offers. Or, I should say, you have not _percieved_ this requirement, and the benefit which such tools would offer you in your development arena.

    What you speak of (commercial Win32 IDE environments) offer:

    • IDE with color syntax highlighting
    • Online manuals for function calls and syntax elements at a button-press
    • Ability to arrange a GUI framework, and generate code for same, by dragging some things about in a GUI fashion
    • Compile and link projects with a button press
    • Run and inspect (or interpret and inspect) programs with a button press
    Development environments in the UNIX world offer _always_:

    Pipeline-capable tools

    A real scripting environment to put them together in powerful ways Said tools, used together as above, include:

    automate project regeneration, recompilation of course of arbitrary nature (make, GNU Make)

    automate project compilation/installation cross-platform, cross-OS (Imake, GNU autoconf)

    programatically generate parsers and lexers (lex/flex, yacc/bison)

    Check syntax/portability semantics (lint),

    Pretty-print source code in various languages,

    Find and print patterns (grep),

    Extract strings from binaries (strings),

    Index symbols in source code(ctags/etags),

    Perform powerful macro expansions (preprocessing) of arbitrary nature (m4, notably), (and remember where you got the _C_ preprocessor from)

    Create function libraries (of static/dynamically loaded nature, as supported by host OS) (ar, etc)

    Generate documentation in (plaintext, HTML, PostScript, {La}TeX, others) programatically from source code (many free and commercial, 3rd party tools, portable to any UNIX),

    High quality online documentation in the form of manpages, GNU texinfo/info documents, as well as any vendor-specific documentation in various formats.

    ...and others I or any other person familiar with the Unix environment could list Those were the basics, and available for _every_ UNIX. Notable higher-level environments worth noting include:

    • Emacs: at a _minimum_, Emacs can be considered to be an IDE of a very superior nature, with elisp programming primitives for editor macros of arbitrary complexity/sophistication/power. Emacss' ability to create and use "major modes" for editing of arbitrarily many different languages in a language-specific, nice way, with color syntax highlighting, etc, are not matched by any PC-based IDE I have ever seen, nor expect to.
    • GDB: a debugger of certainly adequate power, able to take advantage of UNIX environment concepts such as core files, as well as debugging of actively running programs (and work-in-progress for debugging running _kernals_, both locally and remotely). Correct me if I am wrong as to state-of-the- debugging-art outside of the UNIX world, but I don't recall any mature tools for debugging MS-Win32 (or Win16) device drivers, which are analogous in difficulty and usefullness to debug, and _very_nasty_ to get wrong...
    • GCC: an eminently capable compiler, capable of (K&R, ANSI) C, C++, and Objective C (plus the languages using C as backend, such as some Pascal compilers, etc) Granted, this compiler has significant faults, so do all MS-environment compilers I have heard of. The big advantage though, is the cross-OS, cross-platform compilation.
    • Emacs + GDB + GCC + other tools integrated: The GNU development environment is _very_ powerful, as an integrated system.
    • NEXTSTEP/OpenStep: Interface Builder/Project Builder a very powerful framework. Useful analogies can be made to DELPHI, which you may be familiar with, and which is based on Object Pascal rather than Objective C.
    I submit that, contrary to your assumption of MS-environment tool superiority, you are tool-starved outside the UNIX world, and many of your best tools (which are buried inside your comfy IDEs) are derived from UNIX tools.
    • You do not have enough tools.
    • They are not available to use separately, low-level.
    • You have no way to combine small, single-purpose, low-level tools into larger useful units.
    • Your tools are not mature by comparison (read: buggy, unpredictable, undocumented, proprietary)
    • Your higher-level tools are not built on a firm basis (excellent low-level tools), and if something breaks, it's REALLY REALLY BROKEN, and you are mostly screwed unless you are intimate with the vendor of the tool
    Linux is the most developer friendly environment I have ever used, and I can't see why any serious software engineers would even consider Windows a viable alternative at all. It may take a bit of pursuading on your part, but the reduced cost and ease of coding for Linux make the decision a no-brainer.

    Mr. Uptime

    1. Re:Are you asking the right question? by dimator · · Score: 2

      GDB: a debugger of certainly adequate power

      I'm sorry but I'll take Visual Studio's debugger _any day_ over gdb. I'm not a GUI weenie either. It's just way, way more useable and powerful.

      ...I can't see why any serious software engineers would even consider Windows a viable alternative at all. It may take a bit of pursuading on your part, but the reduced cost and ease of coding for Linux make the decision a no-brainer.

      Whoa, hold on there. You can't honestly recommend a complete platform change like that. The asker is looking for a windows IDE, which probably means he already has some hard-earned software he needs to support/maintain.

      --
      python -c "x='python -c %sx=%s; print x%%(chr(34),repr(x),chr(34))%s'; print x%(chr(34),repr(x),chr(34))"
    2. Re:Are you asking the right question? by Lendrick · · Score: 2

      Note: This isn't intended as either a troll or flaimbait. I'm just trying to make a point.

      Emacs: at a _minimum_, Emacs can be considered to be an IDE of a very superior nature, with elisp programming primitives for editor macros of arbitrary complexity/sophistication/power. Emacss' ability to create and use "major modes" for editing of arbitrarily many different languages in a language-specific, nice way, with color syntax highlighting, etc, are not matched by any PC-based IDE I have ever seen, nor expect to.

      I'll give you good syntax highlighting over a wide variety of languages, but that's about all. Emacs's interface is awful. The design feels like it's been thrown together haphazardly over a long time--and quite frankly, it's in need of a major rewrite. For instance, whose idea was it to put color syntax highlighting in the help menu, and who decided to call it Global Font Lock?

      A good IDE needs to be intuitive and easy to use. Programmers can't afford to spend a long time learning how to use their IDE--that defeats an IDE's purpose. Quite frankly, IDEs like Netbeans, KDevelop, and (god forbid) Visual Developer Studio beat the tar out of Emacs in terms of intuitiveness and general useability.

      That said, I use Emacs for my coding at work. If you know how to use it, and you're writing programs that don't require a lot of seperate files to compile, it can be quite helpful. I just wouldn't want to trust it to manage a large project... and before you mention GNU make, I just want to point out that a lot of programmers are different from us, in that they don't really like configuring things with a text editor and a command line interface.

      Lendrick

    3. Re:Are you asking the right question? by tjwhaynes · · Score: 2

      I'm sorry but I'll take Visual Studio's debugger _any day_ over gdb. I'm not a GUI weenie either. It's just way, way more useable and powerful.

      You've got to be kidding! Or maybe you just haven't RTFM'd the gdb manual. GDB has so many more options for memory tracking, accesses, data display than VS - you just need to be able to learn the commands. If you need a fancy GUI on top of your base-level debugger, run DDD on top of it and get graphs of variable values over time, charts of structure layouts and other goodies.

      Cheers,

      Toby Haynes

      --
      Anything I post is strictly my own thoughts and doesn't necessarily have anything to do with the opinions of IBM.
    4. Re:Are you asking the right question? by toast0 · · Score: 2

      Quoth the poster:

      GDB: a debugger of certainly adequate power, able to take advantage of UNIX environment concepts such as core files, as well as debugging of actively running programs (and work-in-progress for debugging running _kernals_, both locally and remotely). Correct me if I am wrong as to state-of-the- debugging-art outside of the UNIX world, but I don't recall any mature tools for debugging MS-Win32 (or Win16) device drivers, which are analogous in difficulty and usefullness to debug, and _very_nasty_ to get wrong...

      There is a product called 'Soft-Ice' which is billed as a 'kernel mode debugger' which is marketed as able to help you debug device drivers you are writing.

      I've never written a device driver, in linux or windows, nor debuged either one using other than print statements, so I don't know how well stuff works on either side of the house, but it is there on both sides.

    5. Re:Are you asking the right question? by babbage · · Score: 2
      I'm not the first one to point this out to you here, but it bears emphasizing: nearly all of the tools you describe were born on Unix, but they are not confined to Unix. If you're the sort of sociopath that enjoys working with Emacs (kidding! :), then it is readily available for Win32. With Cygwin or the GNU for DOS book (et al) you can install pretty much all the standard Unix command line utilities you want, including the various command shells. So as nice as these tools are -- and I agree, they are great -- your point that this guy has to ditch everything and move to Linux to get it all falls a little flat.

      Moreover, the original poster said (which I found a little confusing) that he's not a programmer, but that he needs to be able to work with these kinds of development tools on Windows. Maybe he's involved in testing or documentation, I don't know. But the fact remains that he has explicitly said he's working in a Windows environment, so that's really what he needs to be looking at here. If the code he's doing needs to interact with COM, MFC, ActiveX, etc, then how productive is it going to be to switch to a platform where all of these things are available -- at best -- only in emulation though Wine? Yeech that sounds ugly. Wouldn't it make *a lot* more sense to work on the target platform if possible, especially if that's where he's starting from to begin with?

      This kind of axe-grinding, sneering, condescending advocacy is exactly what Linux doesn't need. Yes, it has a lot of nice properties, and is worthy on it's own merits. No, it isn't a drop-in replacement for different, properitary technologies, and in some cases that's a good thing. You seem so impressed by all these tools: hasn't anyone ever told you that you need to match the right tool to the right job?

    6. Re:Are you asking the right question? by spongman · · Score: 2

      windbg, which comes with the platform SDK, supports kernel- and user-mode debugging.

    7. Re:Are you asking the right question? by Lendrick · · Score: 2

      It might be version 20 or so. The menu I'm talking about is Help->Options. If they've moved that to a more intuitive place (just an Options menu) and called it Syntax Highlighting, then they're on the right track. I might just upgrade Emacs. :)

    8. Re:Are you asking the right question? by Twylite · · Score: 2

      I have been in programming for 15 years, with 5 years of commercial experience in development and software engineering. I work extensively on Windows and Solaris on a daily basis. And this is my 2c.

      you're looking to maximize developer and end-user productivity

      You have made a massive assumption in this statement and your recommendations regarding it: that developers are familiar and proficient with the "Unix" way of doing things. This is far from a foregone conclusion. Most developers I work with have no familiarity with Unix systems. Often their areas of expertise are not in coding (as the case of the poster of this article), but they use coding to achieve their real job function. In such cases, the easiest tool is often the best tool.

      • IDE with color syntax highlighting
        Of benefit because it makes reading source code easier while you are editting it. As you rightly point out, such editors exist for Unix too.
      • Online manuals for function calls and syntax elements at a button-press
        ... which is arguably easier than switching to another window and running man, which is also not hypertext enabled, so it takes longer to go back and forth to find exactly what you are looking for. You have also ignored between this point and the last the existing of syntax completing editors, which will pop up a list of available functions complete with parameters, etc, which often avoid the need to get help at all.
      • Ability to arrange a GUI framework, and generate code for same, by dragging some things about in a GUI fashion
        You're either a GUI guru, or you never do GUI work. I have worked with people who are dedicated to GUI coding, using Java, MFC, Gtk or one of many other toolkits. To make a stable, usable interface for even a minimal program can easily take a week. Or you can use C++ Builder (since Borland's tools are the best in this regard) and do it in an afternoon.

        The proof of the pudding is in the eating: until very recently we have not seen many attractive, easy to use applications on Unix. They are simply too difficult to implement.

        GUI development is often no recognised for the art/science that it is. Most developers don't even KNOW about tab order, accelerator keys, and the psychological principles of layout and choice. While GUI tools can't help you with all of these, they do make most much easier to access and manipulate.

      Now let's look at what Unix tools offer.

      • Pipeline-capable tools
        To an "everyday" developer, what benefit does this really offer? In an edit-compile-test-debug environment, where do pipes assist you?
      • automate project regeneration, recompilation of course of arbitrary nature (make, GNU Make)
        ...which requires a lot of knowledge to set up. Or you can (right-click) Add files to project, and they automatically compile, link and work. If you really need a more complex build process, you can specify custom build settings in a scripting language (not as powerful as 'sh', but you can call external programs ... say perl for win32).
      • programatically generate parsers and lexers (lex/flex, yacc/bison)
        More questionable benefit. I have worked on one project which required a parser/lexer, mostly because it was involved in source code analysis. Your average user application, including databases, accounting packages, scientific number crunching, etc, does not require a parser. Besides which, all of these tools have win32 ports, and there are good many win32-specific parser generating tools which allow interactive visual specification of the parser rules, which makes yacc grammar files look like tumbleweed on steroids.
      • Check syntax/portability semantics (lint)
        Lint is an exceptionally useful tool ... but the most reffered to implementation is PCLint, which runs on win32.
      • Pretty-print source code in various languages
        ...or you get this built into your editor on win32. Why an external tool?
      • Find and print patterns (grep)
        Both Visual Studio and Borland's IDEs support regular expression find/replace on all files in your project(s). Not many people know or use this functionality, because its simply too complex to learn unless it will make your life more efficient on a regular basis. And for most people, it doesn't.

        One of the biggest problems is that REs are hamstrung when dealing with program code because code is a context-free grammar not a non-deterministic finite automaton. Find/replace across multiple files (which is a lot easier with a dialog than with sed) is often sufficiently powerful.
      • Extract strings from binaries (strings)
        So ...? How many userland developers seriously use this sort of tool?
      • Create function libraries (of static/dynamically loaded nature, as supported by host OS) (ar, etc)
        Nothing that you can't do with any C/C++ compiler on win32. If you really want, you can use cl.exe and do it from the command line.
      • High quality online documentation in the form of manpages, GNU texinfo/info documents, as well as any vendor-specific documentation in various formats.
        We apparently have different definitions of "high quality". To me, "high quality" means accessible, readable, and understandable. It should include examples, and cross reference related documentation. It should be easy to navigate, indexed, searchable and categorised.

        Now I'm sure man provides most of those things, in your opinion. But in the opinion of most developers (as discovered from emperical research for an Honours project) it sucks.

      In case you weren't aware, Emacs, GCC and GDB are all available on win32, with or without Cygwin. In addition, you should probably be informed that GCC with maximum optimisations is likely to give you an application about 25% slower than VC (emperical observation based on a server-side non-database processing application with multiple clients, under load).

      --
      i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  6. Having your theft and stealing it too! by augros · · Score: 2

    No, this is not a flame. In fact, I'm duly impressed by how much thought you've put into this. And that's what I'm commenting on.

    I use pirated software all the time, and feel no guilt about it, just like most people. However, I would feel guilt for posting a comment like yours. Once you've planned a failsafe strategy to get a whole corporation involved in illegal matters, I think you go from theft to Theft.

    No, I don't really think theft capitalized differs from one with a little "t," in fact I worked for an ISP that just handed Microsoft, Cytrix and Solaris (etc.) software around like cookies and felt no qualm. We had no "strategy," in case we got caught. I know piracy is simply theft, even when I get my mp3s. But like most of us, I acknowlegde that I am a theif and that it is wrong (if only for the fact that it's illegal.)

    This is not a case of consumer rights. "We, the people" do not legislate directly in this country. If we break the laws and steal, let us admit it to ourselves. To use Kazaa is theft, to counsel these "strategies" is uber-theft. We have our open-source, let us use that and protect it --and at least respect the legal status of proprietaries even if we don't obey it.

    Sorry, and thank you.

  7. Java by bwt · · Score: 4, Informative

    Java with IBM's Eclipse SWT should allow you to write pretty peppy stuff that uses native GUI widgets but is truly cross platform. You even have a choice between a good IDE (netbeans) and powerful text editor (jEdit) for your programming environment. Hell, you can even write your macros in Jython (or JRuby) if that floats your boat.

    Somebody here will no doubt whine that Java isn't open source. If the whining seems a bit abrupt, that's because these people no doubt are in a hurry to get back to tonights checkin to the GNU Classpath project (or was it gpj?)

    1. Re:Java by igrek · · Score: 2

      Interesting. How many stable winNT/2000 apps are written in Java?
      Any examples, besides Java development tools/editors/UMLware consumed by Java community itself?
      Just curious.

  8. Mingw32 or Dev-C++ by strangemoose · · Score: 4, Informative

    Mingw32 and (if you like IDEs) Dev-C++ (devcpp comes with mingw32) will create native win32 programs/dlls that directly use the msvcrt dll.

    --
    Sig? What sig?
  9. Consider Tcl/Tk by maetenloch · · Score: 2, Interesting

    Take a look at Visual Tcl. It allows you to build gui-based applications based around Tcl/Tk scripts. The best part is that it's free and it's platform independent.

    Another solution is to look for a previous version of Visual Studio or Borland on Ebay. Also check on Yahoo, as sometimes Microsoft shuts down auctions of it's software on Ebay.

    Truthfully, if your company is too cheap to buy you the tools you need, you have to wonder how serious they are about succeeding.

  10. Get LCC now!! by eggstasy · · Score: 2, Informative

    I can't believe no one's mentioned this before.
    There is a great, free win32 C compiler with all the win32 libs and a few extras of its own, called LCC.
    It comes with an IDE that includes advanced debugging features and it's pretty easy to use.
    The page:
    www.cs.virginia.edu/~lcc-win32/

    1. Re:Get LCC now!! by lkaos · · Score: 2

      Problems with LCC:

      1) It has it's own bastardized version of C
      2) It's not ANSI C compliant at all
      3) The licensing scheme is all screwed up since it was Open Source and then went closed source.
      4) It doesn't produce executable code that's anywhere near comparable with GCC.
      5) It was originally written when GCC didn't exist for Windows, well, know it does :)

      If you need a C compiler, get GCC. Develop with Cygwin and compile with Mingw32 :)

      --
      int func(int a);
      func((b += 3, b));
  11. Re:Cheap, but not free (PowerBASIC) by Katravax · · Score: 3, Interesting

    I want to second this. PowerBASIC is fantastic. It's about $150 or so for the Win32 GUI-mode compiler if you shop around (check Provantage), and it makes the tiniest, fastest executables I've seen, short of raw assembly. The user forums on the PowerBASIC site are also excellent, and you can get help on just about anything, with commented source code even.

    It's got BASIC-like abstraction of dialogs, TCP/IP, file I/O, regex, and more. The source output is readable by pretty much any programmer. If you choose, you can also write your apps SDK-style rather than using the dialog-abstraction keywords.

    Don't mistake it for a VB-alike. It supports all native Windows datatypes as well as pointers. I've written fairly GUI-intensive apps that do quite a bit of work (regexing, FTPing, SMTPing, and more) where the output file was less than 80K. Also, the output executable is a normal PE Windows exe, and has zero external runtimes.

    It's the next best thing to raw assembly, with the ease of coding in BASIC. I'm also a faithful customer of PowerBASIC, and don't work for them.

  12. Depends on what you are programming by Kirruth · · Score: 3, Informative

    It's not clear what kinds of areas you are working on, so its not easy to recommend a tool.

    Personally, I use C/C++ for general purpose apps. Nevertheless, for text/scripts Perl is hard to beat, for objects/GUIs Python is amazing, and Haskell wipes the floor with all the other languages on numerical/functional work. (OK, I admit, I have no life).

    In terms of tools,

    DevC++and Cygwin, work well for C/C++ development, and together form a nice little set of tools.

    Perl can be found at CPANwhich has links to various interpreters and IDEs. It is a language of crazed brilliance, and is wonderfully cross-platform.

    Python is really great, comes with a very well-thought-out IDE (IDLE) and a very familiar syntax. It has standard modules which will link it to C++ and Windows.

    And finally, Haskell is at Haskell.org, and offers Hugs, which is probably the most advanced open-source IDE available for any language.

    With so many wondrous open source tools available, I feel pretty bad about saying this, but your best bet in a corporate environment might actually be Java. It's boring, it's a little slow, its overhyped. In short, it is the Devil and whenever I have used it, I have wanted to kill myself and my neighbours. Still, its free, popular and backed by a big old corporation, its very similar to C++ and you won't get fired for choosing it. Best go with Java.

    --
    "Well, put a stake in my heart and drag me into sunlight."
    1. Re:Depends on what you are programming by __past__ · · Score: 2
      Hugs, which is probably the most advanced open-source IDE available for any language.
      Huh? Last time I checked, Hugs offered a GUI wrapper for the console-style interpreter, but hardly anything near an IDE. Did I miss something?
  13. well. if you were a good programmer you would know by autopr0n · · Score: 3, Informative

    There's all kinds of good stuff out there.

    Java, with Borland Jbuilder is free(beer)

    Cgywin, with allmost all the stuff for linux for windows, and you can write windows apps.

    Ruby, python, etc.

    --
    autopr0n is like, down and stuff.
  14. Be careful when using cygwin by jamus · · Score: 2
    Be careful when using cygwin! The cygwin library is GPL, not LGPL, so any software you write that uses the cygwin library must be GPL, unless you buy a cygwin contract. If the software you write is for yourself or for internal use for your company, you should be alright. You may want to check out the actual GPL and faqs for it at GNU's site. If your company has a lawyer team, you may want to consult them too.

    Seeing that you have to talk to the redhat sales team for a contract, I imagine it's pricey.

    1. Re:Be careful when using cygwin by kevin42 · · Score: 3, Informative

      You can use cygwin to develop mingw apps which don't use any of the cygwin runtime (they use the MS runtime dlls which are on all windows systems), and are thus freely distributable as commercial binaries.

  15. Wong Question by maggard · · Score: 2
    I work for a small company that refuses to spend the money on visual studio. I need this (or some other language) to do my job (which isn't programming),
    If a company isn't willing to supply the tools you need to do your job then whatever you're trying to do isn't your job.

    Full stop.

    Clearly your issue isn't what tool set you use but exactly what you are being paid to do. If your employer doesn't see value in making you more effective, productive, or whatever else your programming does for you then drop it. Either just do what they want, how they want, or move on.

    Trying to find work-arounds is pointless if it means you epend more time and energy on this and produce something that whomever someday replaces you won't be able to maintain or have a clue how to use. In short: Get "buy-in" or get out of coding, at least in this job.

    With that said it's quite remarkable what many office applications are capable of. I've seen quite sophisticated work done in word processors, spreadsheets and databases. You may already have all of the tools you need available for simply the time of reading the documentation. Scripting can work for good as well as ill in office applications.

    But really; if you can't make a business case for a tool then drop it or get out.

    --
    I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
    1. Re:Wong Question by man_ls · · Score: 2

      MS Office 97 and later come with VBA - Visual Basic for Applications. I have seen programs created within the confines of an Excel spreadsheet that are more complicated and functional than some sold on store shelves...Built-in help files have complete documentation on the use of the language, I think.

  16. Microsoft's tools are FREE!! by spongman · · Score: 3, Informative
    The entire microsoft platform SDK toolset is freely available for download on their site. Even if you already have Visual Studio (which you don't need), I'd recommend getting this is it has the latest headers and tools. It comes complete with compilers, libraries, documentation, tools, debuggers, etc... All it's lacking is the nice UI.

    The .NET Framework is also freely available for download. Again, it comes with everything you need to build .NET applications, except the nice UI (use vim/emacs/sharpdevelop...)

    The root for the SDK downloads is here

  17. Been disbarred long? by coyote-san · · Score: 3, Informative

    That advice is a good way to get in trouble with the IRS in addition to the BSA.

    Here's a big clue - the IRS is well aware of this trick, and it has a bunch of questions is asks to determine whether these people are truly independent contractors or if they're de facto employees. If they're employees, you get hit with back (payroll) taxes and penalties and basically have a miserable life for a few years as the IRS investigates whether you're a tax cheat elsewhere.

    I don't remember the full list of 20 questions, but I do recall that many issues came down to independence, duration of employment, etc. Are your employees... independent consultants registered as a bona fide local business (LLC, DBA, etc?) Do they carry business liability insurance in addition to personal policies? Do they work for you exclusively?

    --
    For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
    1. Re:Been disbarred long? by partingshot · · Score: 2

      1. I don't remember the full list of 20 questions

      Revenue Ruling 87-41

      Go directly to Jail; do not pass GO...do not collect $200.


      --
      Anonymous posts are filtered.
  18. Windows applications? Forget about it! by igrek · · Score: 2

    Q: Are there any cheap/free programming languages that will make a stable winNT/2000 app?

    A: ... the reduced cost and ease of coding for Linux make the decision a no-brainer.

    How insightful.

  19. Re:Plenty of options available. by blibbleblobble · · Score: 2

    I seem to remember bloodshed dev C/C++ being very useful in my previous job (where programming windows wasn't the main aim of the job)

    GCC would've been nice, but unfortunately it doesn't work in windows. ActivePerl is good, although GUIs are't the simplest things to create. Spreadsheets and VBA can get you a certain way, especially on simple tasks.

    The best feature of bloodshed C is the look your manager gives you when you mention the name.

  20. What's the question again? by fm6 · · Score: 2
    Once again, an Ask Slashdot with too much missing context. You say you're currently using a DOS IDE because your company "refuses to spend the money on visual studio". You also imply that your programming experience is pretty limited.

    What do you imagine Visual Studio would do for you? It's not any easier to use than any other IDE. Exactly the opposite. What you get when you buy Visual Studio is a huge mass of compilers, interpreters, debuggers, libraries, code generators, "wizards", and god knows what else. Having this tool will not magically make up for your own limitations as a programmer.

    You need to sit down and carefully document what kind of programming you do and/or want to do. Then you'll be a position to ask around for a suitable IDE or other development environment. And also in a better position to convince your boss to spend a little money.

  21. Re:fyi you CAN get visual studio for cheap by GeorgeH · · Score: 2

    Save your $360, this is no more legal than pirating the software. The software industry has made itself exempt from the right of first sale, which basicly says "If you bought it, you can sell it." Almost any software you get has license provisions that say you can't resell your software license.

    I believe that there's currently "duck" legislation (If it looks like a sale and quacks like a sale...) on the horizon that would make software more like books in terms of what you can do with it, but I'm not very optimistic about it actually passing. I suspect that Microsoft, IBM, Oracle and the other heavyweights can buy enough politicos to nip it in the bud.

    --
    Why can't I moderate something "Wrong" or at least "Grossly Misinformed"?
  22. Many alternatives by Twylite · · Score: 3, Informative

    There are many alternatives for developing with free (as in beer) tools on Win32.

    • Cygwin/GCC (www.cygwin.com): Cygwin is a Posix-on-win32 emulation layer, and associated Unix-like environment. GPLed, and you can't redistribute your program under any other license for that reason. Good choice if you like a Unix-like environment.
    • Mingw32 (www.mingw.org): Unix tools and GCC compiler on Win32 without an emulation layer. Not as easy as Cygwin (IMHO) but your software is free of restrictions and doesn't require extra runtime DLLs (only win32 platform DLLs).
    • Java (java.sun.com): I think this has been largely underrated in the discussion so far. Java is a great language for writing applications and saves you from a lot of the tricks and traps of C/C++. OTOH if you're familiar with C/C++ and not with Java, or if you are aiming at CLI or scientific (number crunching) applications, Java isn't such a great choice.
    • more Java: There are a number of decent IDEs available, including Netbeans (www.netbeans.org) and Borland's JBuilder (www.borland.com, personal edition is free for non-commercial use).
    • Perl: Get it as part of Cygwin, or download ActiveState's Perl (www.activestate.com) which has a win32 GUI installer, better docs and better win32 support. Perl's GUI support can be a bit cryptic (IMHO) compared to other languages. As a scripting language you probably don't want to use this if you need to distribute binaries.
    • Tcl/Tk (www.scriptics.com): Excellent for GUI applications and prototypes, not so great for processing. Tcl/Tk is a glue language that interfaces well with a LOT of other languages. Brilliant GUI support, but can look a bit kludgy. Easy to use once you've got the hang of it, but as with Perl its a scripting language and you don't want to distribute it (although Scriptics does offer commercial tools to compile Tcl to binary code).
    • Python, Ruby, Basic, Fortran, Cobol, ... they all have free compilers and runtimes for win32, and may be what you are looking for.
    --
    i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
  23. Re:well. if you were a good programmer you would k by cdrudge · · Score: 2

    Java, with Borland Jbuilder is free(beer)

    But just like many companies who don't let you drink beer, Borland won't let you (legally) use the free Jbuilder for comercial development.

    Part of the EULA for the free version of JBuilder is no comercial development. I'm not sure if you are permitted to use it for in-house developement either.

  24. PLT Scheme by divbyzero · · Score: 2

    The original poster is unlikely to be interested, but some of the other readers might be... I would recommend PLT Scheme. It is a very complete, powerful, and polished environment for Scheme programming, which includes an interpreter, a compiler, an IDE with project management and a Scheme-specific intelligent editor, an interactive debugger, and lots of powerful libraries including multithreading, high and low level networking, cross-platform GUI-building based on WX, regexes, XML handling, etc. It runs on Windows, Mac, and several Unixes, and is both free and libre. Try it!

    --
    But my grandest creation, as history will tell,
    Was Firefrorefiddle, the Fiend of the Fell.