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.
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!
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.
- 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.
/fug
Throw off the shackles of copyright law.
Perl
Python
C/C++ (with gcc)
Conformity is the jailer of freedom and enemy of growth. -JFK
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.
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
Free Open Source Naked Ladies!
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.
As others have already mentionned, Cygwin is a good choice.
DJGPP is another port of GCC for DOS. It uses the protected mode, so you're not limited to 64K segments. If you want an IDE, RHIDE (available at the same place) is very similar to Borland's.
The parent post is strictly trolling to encourage the use of pirated software. What he doesn't realize is that the money used to pay for such software goes to feed the programmers who made the software. You'd think if he was pirating Visual Studio, of all applications, he'd know that compensation for what you program is a necessary component to the economy.
If there for export into the Windows world at large I'd say bite the bullet and buy Visual C++ yourself, and hurry before you're forced to buy the .NET version.
If you're writing things for internal company stuff Cygwin will probably make you happier. You get most of the wonderful posix development environment without dealing with Microsoft oddities.
The reason for my duplicity is simple, you can write an app in Visual C++ that doesn't need a lot of extra redistibutables because it uses Microsoft's own DLL's. With cygwin you have to install cygwin on all the machines you want to run on unless you just stick with the basics, for which I'm sure the Borland compiler is fine anyway.
I'm assuming your not writing code that needs to be really fast or I'd recommend the Intel compiler, but that would make life really complicated.
If access to Microsoft's software products is that important to you, an MSDN subscription is both cheap AND legal, up to a certain (small) number of seats. Otherwise, Linux and StarOffice 5.x are close enough as far as your typical small office goes.
I'm proud of my Northern Tibetian Heritage
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?)
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?
i forgot to claim the post as bunny vomit's. :) a massive *hugs* going out to all my p33pz in the wonderful, magical land of K5 diaryzone. to all the fine p33pz I give nothing but love. that, and i really need to go to bed to sleep off my latest batch of whiskey intake. :)
Look, you're being daft. There isnt a thing on your Linux list that cannot be installed on Windows
in addition to the best damn IDE in the business.
If you think the guy is at a disadvantage using Visual C++, then advise him not to buy it and instead to roll his own open sores unix developer distribution on NT. Simple, eh? He can start with cygwin.
Meanwhile, there's a reason why projects being concurrently developped on both Linux and Windows (Mozilla for example) work and make better progress on Windows...
It looks like the range of free stuff has been covered, so I'll take another tack. I've used PowerBASIC for a while, and prefer it to the MS bloatware environments. It produces small, fast Win32 executables that require no runtime libraries. Anyone familiar with writing VB code can dive right in, and those who aren't can learn quickly. In fact, you can lift a lot of code from VB projects and compile in PowerBASIC unmodified.
Like I said, it's not free, but I thought it was worth purchasing. It's worth a look: http://www.powerbasic.com/
BTW, I'm a real customer of the product. The only thing I have to gain by increasing sales is to have a better product for myself.
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.
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/
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.
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."
well, 360 bucks may not be cheap, but it is compared to the retail price of 1200. check half.com for this price, i've acquired two so far for our company.
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.
"This guy should have IANAL tatooed on his forehead and permenently put in his sig."
Definitely. LOL!
Http://www.adapower.com
You can get free Ada compilers, IDE's, and windows GUI tool kits.
All free.
Lots of links to documentation and free online books.
Delphi is quite cheap (the first complete version starts at about 100 or 150 USD) and there's nothing more efficient to make Windows applications.
I haven't looked, but I was under the impression that you could download all you need to write programs for Windows from MSDN. They aren't giving Visual Studio away, but all the core components are.
Well, Borland C++ 5.5 is free as in beer.
Also there is mingw32 and cygwin32, but the
latter is bad in sense of that programmes
compiled with it must be GPL due to the linkage
to cygwin1.dll (libc) which is GPL, whereas
mingw32 produces native Win32 executables linked
against msvcrt.dll which can be found on nearly
any Win32 system (except for NT 3.1 and the very
first version of Win95).
Pascal might be also free, you can download Turbo
Pascal from museum.borland.com, Kylix is IIRC free
for Linux, maybe also for Win32, and there is
FreePascal.
Also you can install php4, either native or as
a plugin for IIS or (better) apache.
PHP4 runs quite stable, not as stable as e.g.
Pascal, because it originally wasn't developed
to support Win32, but it does work.
If you aren't doing web stuff you should choose
the native version over the webserver plugin.
My Karma isn't excellent, damn it! (And
I work for a small company that refuses to spend the money on visual studio.
Gosh. Better dust up the old resume. Any company that won't fork over the cash to get you a development environment that you want might soon decide not to fork over the cash to pay your salary. As one other person recommended, you might want to plunk down the cash to get your own license -- it might not be worth the trouble trying to learn a whole new way of doing things if it's going to make you less productive. Plus, you can take it with you elsewhere, and it might even be tax deductible.
That said, RHIDE & DJGPP is available. Textpad has all sorts of nice IDE editor thingies and a way to compile java programs (not freeware, though). I've heard lukewarm reviews of LCC -- questionable quality of compiled code, at least at the time of my research.
--------
Bleah! Heh heh heh... BLEAH BLEAH!!! Ha ha ha ha...
Seeing that you have to talk to the redhat sales team for a contract, I imagine it's pricey.
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.
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
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
Q: Are there any cheap/free programming languages that will make a stable winNT/2000 app?
... the reduced cost and ease of coding for Linux make the decision a no-brainer.
A:
How insightful.
Just download the .NET framework and command-line tools are you are all ready to go. They do the same thing as Visual Studio without the IDE.
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.
http://www.vbxtras.com/products/msdn.asp
And - no - we don't know more than that
- we've had no dealings with them at all
- nor do we expect to have in the future
Binaries distributions of GNAT 3.14p, the free, open-souce GNU Ada compiler are available for Windows, Solaris, Linux, and OS/2 at ftp://ftp.cs.nyu.edu/pub/gnat/3.14p/ There are also different free bindings for doing Windows GUI apps. Look at the included Gnu Visual Debugger (GVD) as an example of a Windows app built using GTKAda.
Sounds like you write utility programs for system administration type tasks.
.PY file and it auto-compiles into a .PYC file so fast you won't even notice it. You can distribute the .PYC file if you don't want to leave source code lying about.
.Net Visual Studio).
.Net Visual Studio so VisualPython is not what you are looking for. Basically, VisualPython creates .Net executables written in Python rather than C# or VB.
You were a little vague but you did state it 'wasn't programming'. Well if you are manipulating files and writing batch files to execute your command line programs then I would highly recommend Python.
The ActiveState Active Python is FREE and comes with the PythonWin IDE that performs code completion, color syntax highlighting, Windows COM interface (you can automate MS-Word, etc.), and a limited debugger.
Python is simple, clean, elegant, and much more powerful than at first look. It's very object based but you are not forced to write classes. It's byte-compiled like Java but much faster. You simply execute a text
It comes with an interactive python interpreter that allows you to type code in to test or experiment.
Python can hook into C/C++ libraries and use their API's. An example of this is the COM interface.
It includes the TK GUI which is simple to code and you won't need a WYSIWYG RAD environment to create the windows. It can automatically align objects in the window. It's perfect for simple interfaces that are quick to create. There are several other GUI options available for multiple platforms as well.
If you are looking for a more powerful IDE, ActiveState's Komodo is quite nice but the PythonWin IDE is not bad either. There is also an IDE written in Python called IDLE that is simpler than PythonWin but still effective. In order of power: IDLE, PythonWin, Komodo, and VisualPython (plugs into
Obviously, you are trying to avoid buying
You can even get Jython and compile your Python code into Java Byte Code! Great for prototyping Java code or just doing small things quickly.
To top it all off Python runs on many different platforms, is very easy to read, is very productive, includes the TK cross-platform GUI, and you'll like it's price; FREE.
Ruby is another interesting language but since it's so very new, there are few books. Python has ton's of excellent books as well as many online tutorials and forums.
There are many alternatives for developing with free (as in beer) tools on Win32.
i-name =twylite [http://public.xdi.org/=twylite], see idcommons.net
Posted by michael on Sunday March 10, @12:47AM
from the free-as-in-free dept.
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
=> I guess that's why it's still a "small company"...
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.
=> Since ur developing for Windoze, better stop being stingy, get good MS dev tools and perhaps your small company will be able finish codingon time?
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.
Borland Delphi is cheap at $100 a copy and you will never beat it's GUI development speed not with Visual Basic, cygwin or anything. It's just the best for Windows peroid.
Eclipse has already been mentioned as a Java IDE, but I thought I should add that Eclipse has plugins available for other languages. Initially starting with C and C++, the plans are to extend it to other languages.
Run these two programs:
http://www.xemacs.org/Download/win32/setup.exe
http://www.cygwin.com/setup.exe
and you'll be all set! Seriously, evn though gcc has its quirks (as several posters have mentioned), it should be sufficient for any task that you're doing with Borland C for DOS. Additionally you get all the basic dev tools (cvs, make, etc.) if your programs ever get beyond the one-off stage. Cygwin also comes with Python and Perl; handy for those tasks for which C is just too tedious.
Check out SharpDevelop, found here. It's an open source (GPL'ed) app for editing both C# and VB.NET. All you need is to install the .NET frameworks first.
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.
You can download the Java SDK for free. You can also use NetBeans which is a nice, open-source IDE.
I suggest you get the latest version of SUNs JAVA SDK, and grab a (free) IDE from Sun (Forte) or Eclipse from IBM