Calling any software developers

najaB

Veteran Member
Joined
28 Aug 2011
Messages
21,458
Location
Scotland
Nothing wrong with the language, although it does allow some truly horrible ways of doing things, which some people have then elevated to the "right" way of coding. Typescript definitely makes writing JS a nicer experience though, and makes mistakes a lot easier to avoid.
True. Languages don't write bad code, programmers do. One of the things I always taught (particularly with reference to C) was that just because you can do something in a language, doesn't mean that you should. (See: https://www.ioccc.org/ for proof!)

I must confess, I've stayed away from Typescript just because of the "Invented by Microsoft" label.
 
Sponsor Post - registered members do not see these adverts; click here to register, or click here to log in
R

RailUK Forums

Adam Williams

Member
Joined
2 Jan 2018
Messages
180
Location
Warks
+1 for these, I'm also fond of http://www.underhanded-c.org/ and the codegolf StackExchange site - some pretty crazy pieces of code to look at on both of these.

Languages don't write bad code, programmers do. One of the things I always taught (particularly with reference to C) was that just because you can do something in a language, doesn't mean that you should.
Hmm, this is an interesting one :P Whilst in principle I don't disagree, it's undoubtedly easier to write C code with memory safety issues (as opposed to e.g. if you implemented your logic in Rust or a higher-level VM-backed language). My anecdotal experience from the application security auditing world was that web applications build in PHP tended to have more security issues than those built on top of different technologies. This doesn't mean that you can't write good code in PHP and I'm a fan of Laravel in that neck of the woods.

On the same theme: it's easier for me to write JS that's broken unless I deliberately make use of ESLint or TypeScript to shift the error detection to build-time. This doesn't maker the language inferior per se, but it's probably something to be aware of when deciding what to use to build your product. I wouldn't ever claim to be infallible so if I can try and ensure the deck is stacked in my favour when developing something, I will.
 

najaB

Veteran Member
Joined
28 Aug 2011
Messages
21,458
Location
Scotland
Whilst in principle I don't disagree, it's undoubtedly easier to write C code with memory safety issues (as opposed to e.g. if you implemented your logic in Rust or a higher-level VM-backed language)
At risk of taking this totally off tangent, I'd counter that the generation of programmers who cut their teeth on C and similar languages could write rock solid code because they didn't depend on automatic type coercion and garbage collectors. If you wanted something to be evaluated as an int you either declared it as an int or typecast it to be one, and if you malloc-ed you goddamned better free it up!

Kids these days don't even know the size of their data structures and couldn't recognise a b-tree if it hit them in the face.
 
Last edited:

takno

Established Member
Joined
9 Jul 2016
Messages
1,857
Hmm, this is an interesting one :P Whilst in principle I don't disagree, it's undoubtedly easier to write C code with memory safety issues (as opposed to e.g. if you implemented your logic in Rust or a higher-level VM-backed language). My anecdotal experience from the application security auditing world was that web applications build in PHP tended to have more security issues than those built on top of different technologies. This doesn't mean that you can't write good code in PHP and I'm a fan of Laravel in that neck of the woods.

On the same theme: it's easier for me to write JS that's broken unless I deliberately make use of ESLint or TypeScript to shift the error detection to build-time. This doesn't maker the language inferior per se, but it's probably something to be aware of when deciding what to use to build your product. I wouldn't ever claim to be infallible so if I can try and ensure the deck is stacked in my favour when developing something, I will.
Difficult to disagree. I've written some truly horrible code in C, luckily contributing to Pidgin, which was the kind of project where if somebody wanted your code badly enough they would take the patch and fix up the holes. By contrast I've never managed any significant code completed in Rust at all. It looks like a great language, but after a week of trying to learn it I had to concede that I didn't have any real uses for it and probably didn't have room in my brain for another low-level language.

It's been possible to write pretty good PHP since 5.3, and to their credit they are making it progressively harder to even run bad code in the newer versions, with pretty aggressive removal of dead features. I have a soft spot for it since it's what I built my company on, but I'd still gladly never write in it, or look at a variable name with $ on the start ever again!
 
Last edited:

krus_aragon

Established Member
Joined
10 Jun 2009
Messages
5,594
Location
North Wales
Respect. The closest I have come to that was writing a simple "Hello, world." type program in 8086 machine code during a particularly boring software engineering lecture (we had a lecturer who basically read the text).
I had a similar motivation in building my own 6502 computer recently (to a 1970s design): to get down to the bare ones and get some experience of working in machine code. Having built (and debugged) it myself from schematics, and then programmed it by typing in opcodes on a hex keypad, I got a far better understanding of how a CPU actually works. If I'd have tried doing assembly on anything with a compiler or language interpreter (e.g. BASIC) on it, I would never have found the motivation to persevere with doing assembly. But this was my computer, so I was going to get it working and doing something vaguely useful, so there!
 

DynamicSpirit

Established Member
Joined
12 Apr 2012
Messages
4,671
At risk of taking this totally off tangent, I'd counter that the generation of programmers who cut their teeth on C and similar languages could write rock solid code because they didn't depend on automatic type coercion and garbage collectors. If you wanted something to be evaluated as an int you either declared it as an int or typecast it to be one, and if you malloc-ed you goddamned better free it up!
At the risk of staying completely off tangent... isn't that a bit like arguing against modern train protection systems on the grounds that train drivers ought to know not to drive too fast without depending on automatic speed control systems ;)

Kids these days don't even know the size of their data structures and couldn't recognise a b-tree if it hit them in the face.
You mean, a bit like how kids 30 years ago would've had no idea how to light a coal fire, and today's kids wouldn't recognise a telegram if it hit them in the face? (Yeah I know it's not quite the right analogy because, unlike coal fires, b-trees are still widely used, hidden inside the innards of various APIs. But you get the idea)
 

najaB

Veteran Member
Joined
28 Aug 2011
Messages
21,458
Location
Scotland
At the risk of staying completely off tangent... isn't that a bit like arguing against modern train protection systems on the grounds that train drivers ought to know not to drive too fast without depending on automatic speed control systems
Almost. A train driver who has one too many protection system activations will be invited for a no-biscuit meeting with their manager, whereas in modern programming langages you are completely dependent on the automated systems.
You mean, a bit like how kids 30 years ago would've had no idea how to light a coal fire, and today's kids wouldn't recognise a telegram if it hit them in the face? (Yeah I know it's not quite the right analogy because, unlike coal fires, b-trees are still widely used, hidden inside the innards of various APIs. But you get the idea)
Oh, I completely get that things move on, but I get the impression from speaking with the developers at work that very few of them have the kind of detailed understanding of how the bits fit together that my generation would have had. They can turn out way more code, way faster that I would've been able to, and (made up number) 98% of it will be good, but I've lost count of the number of times I've heard "I don't know what's happening" when trying to figure out the 2% that's not doing what they expect.
 
Last edited:

johntea

Established Member
Joined
29 Dec 2010
Messages
1,592
The NHS still use Java quite deeply annoyingly for ESR (Electronic Staff Record) and SystmOne ('cloud' Patient record system) - mainly due to the smartcard authentication I believe

A lot of systems are luckily now heading to online / HTML5 based web interfaces rather than relying on legacy clients and flash, but it is quite amusing how to administer VMWARE half of it you can do through the HTML5 client yet half of the features are only present in the 'Flex' flash client still!
 

skifans

Member
Joined
8 Jun 2016
Messages
198
Location
Lancaster
Huh, I may as well throw my hat into this thread. Currently about to start 3rd year of a Software Engineering degree, and currently doing a summer internship (not rail related) in that area.
 

b0b

Established Member
Joined
25 Jan 2010
Messages
1,264
I just saw this thread

I'm a software dev, been doing this 25-30 years ago, with assembler, then C, then Java now doing Scala for my paid employment. Also very strong with linux/unix, docker, databases like Postgres etc etc.

I would love to pitch in on any open source community projects.
 

yorkie

Forum Staff
Staff Member
Administrator
Joined
6 Jun 2005
Messages
48,236
Location
Yorkshire
Thanks for all the replies, there's quite a few developers on the forum I see :)

There is an opportunity here if anyone is interested: https://www.railforums.co.uk/threads/mytrainticket-new-developer-opportunity.192634/

MyTrainTicket has an exciting opportunity for potentially 2 developers to join our existing small agile team and become part of a greenfield project.

Through other interests connected with our company, we generally advertise jobs through the usual recruitment channels but due to the connection with rail, we are posting here to see if anyone is interested.

The ideal candidate should have a proven track record for delivering large distributed solutions utilising the latest Microsoft .NET technologies and techniques. Experience with ordering or eCommerce systems as well as data management and transformation would be of benefit.

The role would preferably suit someone who classes themselves as a back-end developer. Although some front-end web development is required, the focus of this role is on data....
 

rwuk

Member
Joined
5 Feb 2013
Messages
27
It’s taken me far longer than it should’ve done to reply to this thread (thanks, yorkie, for the message!).. I can only blame the somewhat insane workload. Working in Foreign Exchange with ‘you know what’ looming on the horizon has made for a busy time of late.

I started my career developing stock control software for the hospitality industry, followed by cloud-based contact centre systems (with PCI payment baked in along with all the horror that entails) and ended up in Foreign Exchange a little under two years ago. Commuting on SWR from Basingstoke to Queenstown Road has sharpened my interest in rail somewhat as it’s a moderately awkward commute.

My entire career has been working with Microsoft technologies, from VB6 and ‘classic ASP’ up and through to .NET Core. When time permits I blog about technology and recipes I’ve put together on my website (robertwray.co.uk) along with the occasional open-source contribution. Sadly both have been quite neglected over the past three months due to work.

I’ve found it really interesting reading all the replies from others in this thread so thanks to those who’ve taken the time to do so :)
 

mrmatt

Member
Joined
3 Oct 2012
Messages
111
Location
Flitwick
Can't believe I missed this thread earlier either, thanks for the link Yorkie! I am a full stack web dev working at a startup creating an Employee Engagement app for frontline workforces (unsurprisingly transport is proving a great sector to focus on). I primarily manage and deliver customer integrations these days but with a focus on creating Micro-Apps, APIs, SDKs and documentation in React, Javascript/Typescript, scala and have previously dabbled in angular, java, kotlin, python and PHP for my sins!

Likewise I've found this thread very interesting to see what people are up to. I have a commute from Flitwick to St Pancras to fill twice every day so I'd be interested in helping any interesting open source / community rail projects that are looking for any assistance where my skillset could be helpful!
 

yorkie

Forum Staff
Staff Member
Administrator
Joined
6 Jun 2005
Messages
48,236
Location
Yorkshire
Sorry to 'dig up' an old thread; I am well aware this should not be done without valid reason.

But firstly, if there are any software devs here who were not forum members back in October, or any who simply didn't notice this thread, please do feel free to reply below!

And secondly, the reason for me posting now, is to alert you all that another opportunity for a software developer to work on a ticket booking site will be available shortly.

Here's the message from last time, with a link to the old thread:
Thanks for all the replies, there's quite a few developers on the forum I see :)

There is an opportunity here if anyone is interested: https://www.railforums.co.uk/threads/mytrainticket-new-developer-opportunity.192634/
A new thread is expected to appear shortly; I will link to it as soon as I am aware that has been posted.

If anyone is potentially interested please do look out for it. Feel free to send me a direct message and I will send you an alert as soon as I hear more.
 

Top