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!
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!
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))"
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?