Favorite Programming Languages

What Are Your Favorite Programming Languages?

  • Java

    Votes: 8 15.7%
  • C

    Votes: 16 31.4%
  • C++

    Votes: 10 19.6%
  • Python

    Votes: 6 11.8%
  • C#

    Votes: 8 15.7%
  • JavaScript

    Votes: 6 11.8%
  • Visual Basic .NET

    Votes: 4 7.8%
  • PHP

    Votes: 4 7.8%
  • Delphi / Object Pascal

    Votes: 3 5.9%
  • Assembly Language

    Votes: 15 29.4%

  • Total voters
    51
O.K., serious question. It's been a few years since I've done any C programming, mostly with Borland products. :p

Does anybody know of some good 64 bit C/C++ compilers that will run on Windows 7 and 10 ?.
 
O.K., serious question. It's been a few years since I've done any C programming, mostly with Borland products. :p

Does anybody know of some good 64 bit C/C++ compilers that will run on Windows 7 and 10 ?.
Sure! Just spend $200 on a VMware workstation license, then download and install any freely available version of Linux - they all come with GNU C++ for the most part.
 
I'm knee deep in this crap again. Configuring all sorts of "stuff" on a new set of three cloud servers, all running Ubuntu, trying not to break anything, and hoping nobody outside tries to break anything either. Already blocked a few dozen countries straight away using the firewall. Two of the three are accessed only via a local network, so, no outside access once I am done setting things up. Shell scripts, the occasional Perl script, plus the syntax of the configuration files of a couple dozen things I am actively working with.

Then, dealing with outgoing email--Google's dumping everything in spam folders. (At least it is not flat out rejecting email like it was a week ago.) SPF records, DKIM message signing, DMARC, making sure the server has a proper FQDN for the hostname so I have a correct PTR record in place...all this screwing around, everything set up properly, yet everything is still going to spam. And all of this nonsense has its own peculiar syntax.

The only upside? I don't ever have to use procmail again. I think I'd rather get a root canal performed through my left nostril than deal with procmail ever again.

Then, having to move dozens of things from two other hosting services to this cloud server array...getting SSL certificates (way too easy now with Let's Encrypt and certbot), adding Apache vhosts, setting file ownership and permissions, and all that. And stuff breaks when it's moved from one server to another. Deadline is tomorrow night, when one of the old servers will be decomissioned. Guess who's getting limited sleep lately?
I feel your pain. I was up early this morning dealing with Citrix admin on our cloud server. You haven't lived until you've had to deal with the Netscaler gateway server.
 
I feel your pain. I was up early this morning dealing with Citrix admin on our cloud server. You haven't lived until you've had to deal with the Netscaler gateway server.

We have Netscaler. Also extensively use PVS and currently looking to migrate to Citrix Cloud. Public health sector.
 
In my lengthy career (long since over) I wrote mountains of IBM mainframe (360/370 etc.) Assembler. This included lots of operating system exit points, TSO commands, interfaces to the security system for custom designed resource control, and stand alone programs to support the OS environment. e.g., a SYSLOG searcher and others.

But my all time favorite for the rather short time I was in a position to use it was APL. This terminal oriented interpreter was fantastic for handling anything involving math. And its conciseness was simply unparalleled.

Example: The resistance of a parallel circuit is the reciprocal of the sum of the reciprocals of the individual resistances. Here is the complete APL program for accepting the individual resistances as a string of numbers, calculating the effective resistance and printing the result. It is interpreted right to left.

÷+/÷⎕

That’s right, five (5) keystrokes!

⎕ accepts the input as a typed string of numbers, or the name of a variable containing the string, or an APL expression that will generate the string, or the name of an APL program that will generate the string possibly reading from a file, or any combination of these catenated into a single string. No need to identify what each one is, APL knows.

÷ in dyadic form (having a number on the left side) is division. In monadic form as here, it means reciprocal. Each number in the string is turned into its reciprocal.

+/ The / means to put the operator on the left (+ in this case) between each number in the string, that is, sum them.

÷ Reciprocal of that sum

If a value reaches the left side of the expression and has not been assigned to a variable, it is printed.

Read it left to right and it says the reciprocal of the sum of the reciprocals of the individual inputs. Say the formula out loud and you have essentially written the program.
 
I'm busting my ass to learn Python as we speak. In the not too distant past, I made cracks at C++, C#, and JavaScript but for some reason Python 3 seemingly "clicks" with me. As with the aforementioned languages, classes, objects, inheritance, and polymorphism are the mountains to climb. I understand the concepts but am struggling when to know when to initiate a class. Oh well... I'll stay plugging away in hopes of "getting it" ASAP.
 
In my lengthy career (long since over) I wrote mountains of IBM mainframe (360/370 etc.) Assembler. This included lots of operating system exit points, TSO commands, interfaces to the security system for custom designed resource control, and stand alone programs to support the OS environment. e.g., a SYSLOG searcher and others.

But my all time favorite for the rather short time I was in a position to use it was APL. This terminal oriented interpreter was fantastic for handling anything involving math. And its conciseness was simply unparalleled.

Example: The resistance of a parallel circuit is the reciprocal of the sum of the reciprocals of the individual resistances. Here is the complete APL program for accepting the individual resistances as a string of numbers, calculating the effective resistance and printing the result. It is interpreted right to left.

÷+/÷⎕

That’s right, five (5) keystrokes!

⎕ accepts the input as a typed string of numbers, or the name of a variable containing the string, or an APL expression that will generate the string, or the name of an APL program that will generate the string possibly reading from a file, or any combination of these catenated into a single string. No need to identify what each one is, APL knows.

÷ in dyadic form (having a number on the left side) is division. In monadic form as here, it means reciprocal. Each number in the string is turned into its reciprocal.

+/ The / means to put the operator on the left (+ in this case) between each number in the string, that is, sum them.

÷ Reciprocal of that sum

If a value reaches the left side of the expression and has not been assigned to a variable, it is printed.

Read it left to right and it says the reciprocal of the sum of the reciprocals of the individual inputs. Say the formula out loud and you have essentially written the program.
Wow! APL? Haven't used that since high school. All I can say is, "It's all Greek to me!" (OK, I admit that was a BIT obscure - puns nested too deep!)
 
I just added a grudging vote for Python. My only involvement up until recently was to write library stuff in C (.so, .dll) that some sluggish section of a python utility "imported" for speed. As a language it seems arbitrary and capricious and cobbled together, with silly terminology like "tuple" and "dict" (who's gonna wanna say "dict" at the workplace?). IMHO memory management IS programming. OTOH it's taken over from Matlab and IDL the "science" market and there's a ton of stuff out there already written. I'm starting to like it for what it is.
Is the tuple mutable or immutable? :) I couldn't resist the rhyme...
 
Wow! APL? Haven't used that since high school. All I can say is, "It's all Greek to me!" (OK, I admit that was a BIT obscure - puns nested too deep!)

It has been quite a few decades since I coded in APL,and I only did it for a couple of years, but I can still do it in my head, That's how deep I fell into that particular well.:)
 
It has been quite a few decades since I coded in APL,and I only did it for a couple of years, but I can still do it in my head, That's how deep I fell into that particular well.:)

I went to a technical high school and IBM dropped off a couple of PC machines (IBM 5100s?) that did basic and APL. That was my intro to APL. Definitely a unique "power tool." It was cool especially for matrix manipulation.
 
When I program these days, it's usually in E-Basic (a version of Visual Basic specialized for a package developed for running psychology experiments), but I've used a lot of languages. But I'm like a non-fluent second-language speaker - when I'm programming, I still think in Fortran, then translate it to whatever language I'm using. And I fervently hope never to have to write my own drivers again.
 
In my lengthy career (long since over) I wrote mountains of IBM mainframe (360/370 etc.) Assembler. This included lots of operating system exit points, TSO commands, interfaces to the security system for custom designed resource control, and stand alone programs to support the OS environment. e.g., a SYSLOG searcher and others.

But my all time favorite for the rather short time I was in a position to use it was APL. This terminal oriented interpreter was fantastic for handling anything involving math. And its conciseness was simply unparalleled.

Example: The resistance of a parallel circuit is the reciprocal of the sum of the reciprocals of the individual resistances. Here is the complete APL program for accepting the individual resistances as a string of numbers, calculating the effective resistance and printing the result. It is interpreted right to left.

÷+/÷⎕

That’s right, five (5) keystrokes!

⎕ accepts the input as a typed string of numbers, or the name of a variable containing the string, or an APL expression that will generate the string, or the name of an APL program that will generate the string possibly reading from a file, or any combination of these catenated into a single string. No need to identify what each one is, APL knows.

÷ in dyadic form (having a number on the left side) is division. In monadic form as here, it means reciprocal. Each number in the string is turned into its reciprocal.

+/ The / means to put the operator on the left (+ in this case) between each number in the string, that is, sum them.

÷ Reciprocal of that sum

If a value reaches the left side of the expression and has not been assigned to a variable, it is printed.

Read it left to right and it says the reciprocal of the sum of the reciprocals of the individual inputs. Say the formula out loud and you have essentially written the program.
I remember playing with APL in the ealy 80s, I also did quite a bit with PL1 - talk about a powerhouse of math functions! You could define integers as long as you wanted. Of course PL-1 doesn't lend itself to standardized BNF grammar so no one writes compilers for it anymore. I guess it was a drag having to hand code it because you can't generate it with standard tools. I also did a lot of assembler code for embedded systems. 6809, 68020, TI3410, 8051, 6502 and ya 360/370 in school for my compiler project :) Talk about a bygone era - no one does assembly code anymore in the US.
 
Anybody remember Pascal ? :rflmao:
Yes - I have tens of thousands of lines of hobby code in Pascal originally developed with a commercial Delphi IDE but now I use Lazarus. The "bot" I use to crawl threads and generate video playlists is written in Pascal - though recently translated into C++ (CodeBlocks + wxWidgets) to sharpen my skills for what I do at work. Pascal would be a near-perfect language if it had bindings for C++ based OpenCV and OpenCL. But it doesn't. Only Java and Python do.
 
I remember playing with APL in the ealy 80s, I also did quite a bit with PL1 - talk about a powerhouse of math functions! You could define integers as long as you wanted. Of course PL-1 doesn't lend itself to standardized BNF grammar so no one writes compilers for it anymore. I guess it was a drag having to hand code it because you can't generate it with standard tools. I also did a lot of assembler code for embedded systems. 6809, 68020, TI3410, 8051, 6502 and ya 360/370 in school for my compiler project :) Talk about a bygone era - no one does assembly code anymore in the US.

My APL experience dates back to 1969 when it was not even officially available from IBM, just a sort of back door thing. Not too long after it became a Program Product, as did lots of other 'free' software courtesy of the latest in a series of Supreme Court anti-monopoly decisions. One of my projects was converting a PL/I based [EDIT]batch system to online[/EDIT] APL. I recall distinctly that the entire parameter driven 'access method' subroutine for simulating PL/I relational-3 operations was 126 characters in total including all parameter validation and error code return. The reason it was being converted was that the guy who wrote it had left and nobody knew PL/I well enough to maintain the program.
 
Last edited:
Translating code from language to language is always interesting. It displays the advantages and foibles of both the source and target languages. Most of my translation efforts were from pretty common languages... Basic to COBOL, Basic to Fortran, Fortran to C, etc.
 
Back
Top Bottom