• Welcome to the new COTI server. We've moved the Citizens to a new server. Please let us know in the COTI Website issue forum if you find any problems.

What Programming Languages do you use?

What Programming Languages do you currently code in?


  • Total voters
    96

Leitz

SOC-14 1K
Admin Award
Baron
I'm seeing some potential for building the community within the community, if you're interested.

Addendum: I've probably missed a bunch, but am trying to focus on what we might collaborate on. If we can add languages let's do so.

Addendum #2 How could I have missed Javascript and SQL? Yikes! Trying to see if there's a way to add them to the poll.
 
Last edited:
Back in my day...

I can see you're not limiting to compiled languages so we're going broad here. I haven't been a dev for a long while now, but it's how I started in tech. I won't vote since I don't currently code, but this thread makes me smile.

Way back as an undergrad I messed with Fortran and Pascal. And BASIC of course. Later when I finally got into tech as a coder I did Visual Basic, C#, and for the web HTML, CSS, JS and ASP. I also worked with SQL, XSLT, and briefly touched Ruby before I switched to Human Computer Interaction work as I got into MS and PhD stuff programs to that.

If you're looking to form a coding group, good on you and best of luck. If you're looking to form a we-make-software group, in life I'm a principal user experience architect and "available as a resource." ;)
 
I don't currently code either, but I have coded in AmigaBASIC and VAX Pascal, along with Quick Pascal.

There might be rumors I programmed in Quick C... before OO and ++ and I hated it. Oops.
 
I've played around with most programming languages, just like I have with most RPG game mechanics. FORTRAN77 was my first go-to language for random-generated Traveller stuff. I wish Python was around back then. I don't bother with any other programming languages anymore.
 
Most of my languages have been in the C based family which is why I didn't even think to add R, Haskell, Scheme, etc. All currently awesomely useful languages.

Part of my personal frustration is that what I enjoy most, Ruby, is pretty useless for sharing code. Almost no one runs the interpreter on their machine and even in my work domain Ruby is problematic. Still, it's fun.

That's one of the reasons Spenser TR might get thrown under the "usability tester" bus. I know a few folks are doing more and more in Python, not a bad language. My personal lean would be towards Go if we wanted to share something; it's compiled code and doesn't require an interpreter on the user's machine. It does have to be cross-compiled against major OS versions like Mac, Winderz, and Linux. Not sure if there's an issue with Winderz 7 vs 10 though. Here's the start of a simple character generator in Go.
 
In case we're not on the same page as far as user testing...

User testing ( in my world ) is a profoundly different thing that Quality Assurance, Load Testing, or anything algorithmic like that. In the HCI world, user testing is about taking users through tasks using your thingy, and seeing how that goes. There's way more to it, but that's the gist. What lanugage ( or whatever ) you use to make your thingy probably has no bearing at all on how it will do with user testing. To use a physical example - you can make bike out of aluminum, steel, composite, or cardboard... and I'd still recommend doing some user tests. :) The aluminum bike won't be "better" or even "usable" just because it's aluminum.

Full-on user testing is involved. For stuff we do for Traveller in our off-hours, it's probably more like doing what's called a "heuristic analysis," which is a lot like playtesting in game design. An expert review, maybe the UX guy shows it to the buddy sitting next to him in the coffee shop. It's looking at an interface or flow and putting what you see and experience up against best practices and all that, making sure things are not-awful. Coders are just as good at this ( usually ) as user experience professionals are at coding ;) they are distinctly different skill sets, and proficiency in putting together a code for a user interface is not at all related to the good design of that interface. We've all been reading and writing for a very long time, but few of us can write novels.

You can think of it as coders being the people who design and build the engine of a car, user experience peeps being the ones who design the lines, the interior, the dashboard, and any sort of interface between the thing that makes it "go" ( the engine/powertrain/whatever ) and how that going is experienced.

Serious coding efforts spend a lot of time in front-end and interface design, done by pros, because it matters. For a long long time the people who coded also did the interface. As things got more complicated with interfaces of all kinds, as users got more sophisticated and demand more tightly-design experiences because they see such things everywhere it's really, really rare that the guy who designs and builds the engine also designs the interior of the car... gauges, lights, labels, feedback, and all that.

We now return you to your regularly scheduled thread about coding languages...
 
I put my Python code behind a Windows EXE loader, so people I send programs to for testing don't have to install anything (except for maybe a font or two that a GUI might use).
 
All my Mac and iOS apps have been done in Xojo. I'm a hobbyist and the Xojo IDE is orders of magnitude easier to grok than Xcode.

You can trade your email address for a download of Xojo and create anything you want and run it in the IDE (or in Xcode's iOS simulator).

You need to buy a license to create standalone apps or binaries to upload to iTunes Connect, so I expect to remain the lone Xojo programmer here.
 
I don't code anymore, but a number of years ago, I used FORTH, and I'll probably end up using FORTH again in my retirement.
 
I dabble in Python and Javascript.

I'd done some C++ and C, but not recently.

I've put a toe in the water with Swift.

I learned several flavors of basic over the years TRS-80 Mod I, Applesoft (Apple IIe, IIgs, and it's clone on the Adam), Microsoft obasic (CP/M), VaxBasic (on a VMS/Vax machine), VMSB (Mac 68K), Q-Basic, QB-64, Chipmunk Basic.

I mostly program to work out statistics.
 
Have worked on all but Go this past year.

Commonality of language knowledge/proficiency is going to be abysmal. Computer-2 and interest are your best bets.

Javascript (ECMAScript) is best bet for availability... But suffers from browser specific issues like restricted file access handling, lack of a universal IDE, and a too similar syntax with other 'C-like' syntax languages (encouraging bad assumptions on its 'object' handling, etc.).

This Software Solutions sub-forum is a 'community within a community'. ;)
 
Hey everyone, aramis is willing to add poll options. The poll can have up to 20 options and it is set to allow you to choose as many as you want. What options should we ask to be added?

This is collecting data and hopefully stirring conversations. The conversations and data interpretations aren't limited to my original ideas. However, if I can find a way get better by picking your brains and learning from you, I will.

Some of you have seen the Makhidkarun team on GitHub. A few of us are contributing and we're doing some help back and forth. We currently have C, Python, PHP, Java, and Go stuff up and when I get through this phase of refactoring we'll have some Ruby code as well. The Names database is a SQLite collection that you can use to generate random character names. There's a PHP example but most languages have SQLite libraries. There's also a Go based Vargr Name Generator since I was in a game that needed Vargr names.

A thought in raising the question is to get folks who share interests talking, and let folks interested in finding out about a language know who to talk to.

One of the things I've noticed as I learn to code is that the move from "reading the book and pecking out the examples" to "actually contributing to a project" is difficult. I can use a book and do very small programs in a few different languages, and can usually debug if the issue is syntactical. The various NPC generators I've worked on in PHP, Go, and now Ruby tend to show my limits. So another goal was to open doors for potential collaboration and mentoring if people and stars align.

Those are my main goals. What about yours? How could talking about our current programming languages benefit us individually and as a community?
 
Last edited:
Teaching myself Python, slowly (very slowly as of late) but surely. A very enjoyable language to learn.
 
Other. Lots of other. Including an "other" I wrote.

Definitely Delphi/Pascal, first and formost!

TableMaster was written in Delphi, which is Pascal under the hood. Given what I had to spend on Delphi Pro (that was what the Kickstarter was for) I probably wouldn't have gone that way if it hadn't been that the first Windows version of TableMaster was (at least partly) written in Delphi, and the original all the way back was Pascal. (and I fondly remember the days when a compiler didn't cost more than my car ... okay, I drive an old beater, but still!) It was tough enough rebuilding the whole package over 20 years after I wrote the original; I wasn't going to try to learn a new programming language in the process.

I'd already done that, actually: The reason I completely rewrote TableMaster II from scratch instead of re-using my old code is that a lot of the original looks like it was written by someone trying to teach themself Turbo Pascal. There is, of course, a good reason for this. :p That misbegotten code stayed there when I moved on to Borland Pascal, which is what the guts of TableMaster I were to the end. In the original, only the Windows UI was Delphi -- yeah, even TM/Win was still a DOS program in disguise; that's why it wouldn't run on anything later than Win98. I've learned a lot about Delphi in the decades since I did that, so I just black-boxed it ... I took a screenshot of the original TM/Win UI (the UI, though not the actual table engine, will still load on WinXP) ... and did the new version to match, except with less stupid.

Then I threw out most of the UI anyway for the FireMonkey refactoring, because there are things I did in the original that actually traced back to Delphi components for Windows 3.1, and nobody does it that way anymore. No Win3.1 file picker. :( Given that I was using that for the table list display and selection, that took some rewriting.

Interestingly enough, in the intervening years I did some dorking around with different languages -- I actually got a fair way with a C++ version before I lost interest, and lost the code years ago, and somewhere around I have the start of a Perl version that could load simple tables, though I dropped that before I actually got to executing them -- I was considering an online TableMaster engine of some sort. But it all keeps coming back to Delphi, and to Pascal. It just works very well for what I need to do, particularly for string handling. The fact that Delphi now has flexible arrays is just wonderful; tables used to live in memory dynamically allocated off the heap, all hanging off a couple of pointers. *shudder*

The various random-generation things I've written for my websites have all been in PHP. I don't actually know PHP, mind you; I just write in it. You go figure. Then again, I don't really know Perl, either, and I do all kinds of back-end site coding in that, too. One of these days I should really actually learn the programming languages I'm using, if only so I can be properly embarrassed about some of the code I've written.

More germane to the Traveller-specific discussion: Back in the 1980s, I wrote a subsector generator after hours at work in Fortran 77. It would even draw the subsector maps -- we had an electrostatic plotter that could produce graphics. High tech for its time! (Versatec 1100) I ran a Traveller campaign for years in a sector I randomly generated that way. Sadly, I lost those maps about six moves ago. :( I could recreate the program in my sleep, but the subsector data is long gone, and I wish I had that at least for nostalgia value.

And I did some Traveller utility stuff in BASIC because that's what whichever computer I had back when I was running Traveller had -- I think that was my TS-2068, in fact, with cassette storage, so all of that was lost long ago. I wanted to do a Library Data program just for the coolness of having a live computer lookup at the games, but never got anywhere with that; the combination of the storage space requirement and the need to type in hundreds of entries stopped me.

So: Delphi, Pascal, F77, BASIC, PHP, and Perl. Most of those aren't on the list.

There's another language that isn't on the list: TBL. (note: this part is a shameless plug, so y'all might want to skip over it) TBL is the language I wrote as part of TableMaster, and it's great for converting any kind of tables (which are, after all, just programs that execute on a system of humans and dice!) into something a computer can make sense of. I never intended to write a programming language, mind you; self-taught programmers who are trying to teach themselves Pascal don't do things like that! It just sort of happened. When I was on the edge of my chair waiting for the Kickstarter to close, I even wrote a bubblesort program in TBL to prove it could be done. (also, I'm clearly a bit obsessed with my own creation) TBL doesn't do graphics, or databases ... that's not what it's intended for ... but when it comes to an easy way to set up random generation tables for anything, I don't think there's anything out there that's both easier to use and more powerful than TBL. (and if there is, I'll change it until there isn't!)

So, if this nascent software group is interested in doing things that involve random generation of stuff, from simple names to entire character careers, complete star systems, etc., y'all might want to look at TableMaster. TBL can do basically anything that isn't graphics or databases, and you'll have the advantage, such as it is, of having the designer hanging out here and answering questions -- or, for that matter, adding whole new features to TBL if needed; that's how it first got non-integer variables (real and string), many years ago: user requests. You can grab the demo version off my website. The full program isn't free (I need to buy groceries somehow) but if you buy it, mention that you're from Citizens of the Imperium and I'll throw in the SF Table Pack for free; the tables in that feel very Traveller-y for obvious reasons. (actually, I don't think I've run more than one session of any SF RPG except Traveller)

So, I guess it's really Delphi, Pascal, F77, BASIC, PHP, Perl, and TBL! :)
 
For work: C++, JavaScript (for testing)

For hobby: JavaScript, C#, the occasional Perl

Many others in the past, but those are ones I'm in regularly these days.

https://github.com/inexorabletash/ if you want to poke around at my output. (The work project is open source too, but too big for the canonical copy to be on GitHub)
 
I don't code anymore, but a number of years ago, I used FORTH, and I'll probably end up using FORTH again in my retirement.
Cool. Outside of FORTRAN in college, FORTH was my first higher-level (kinda) language. Loved it.
 
Add Swift to the poll, assuming new Apple programmers play Traveller. Maybe they use Python, since it's already on their Mac.
 
Back
Top