Live data from Hacker News

Ask HN: How do you decide for a backend language?

news.ycombinator.com

91–96 of 96 posts

Re: Ask HN: How do you decide for a backend language?

#91

Now we're talking optimizing for a hugely multidimensional system here. Expressiveness: If you've aiming for a large team, try to work with a language that enables large scale services and large teams - also in the long run, strongly typed languages will work out better for this case, Java / Scala being the obvious candidates. But if you go down a microservices route, other choices might work too. Niche stars: Some l…

> you won't be the first company dying from not finding any devs for your ageing Groovy on Grails stack

That's intentional on the part of the managers of those two products. When they were boosting the presence of Groovy and Grails in Java shops, they were increasing the complexity of their products. They're now cashing in by supplying consulting and conferences at tight market rates.

The lesson here is to check out whether the backers of the language have technical chops, or if they're merely business people.

Re: Ask HN: How do you decide for a backend language?

#92
post #71
post #50

For a server-side language: First, I decided to use Windows for my operating system. Why? Because when I made the decision, my computing experience had been on IBM mainframes, super-mini computers, PCs, and OS/2 with no Unix or Linux experience. Second, on Windows I wanted a language that was a main Microsoft language with their best integration with .NET, ADO.NET for access to SQL Server, ASP.NET for access to the M…

>idiosyncratic syntax How is something like `Dim x as Integer` not idiosyncratic? >syntax and semantics that were traditional What's more traditional than C's syntax? I'm not going to tell you that you shouldn't use VB, but those reasons are BS.

> What's more traditional than C's syntax?

Not OP, but I see where he's coming from... He said his background is in IBM mainframes/minicomputers. VB's syntax is closer to the languages those systems commonly used, such as COBOL and RPG.

Re: Ask HN: How do you decide for a backend language?

#93
post #71
post #50

For a server-side language: First, I decided to use Windows for my operating system. Why? Because when I made the decision, my computing experience had been on IBM mainframes, super-mini computers, PCs, and OS/2 with no Unix or Linux experience. Second, on Windows I wanted a language that was a main Microsoft language with their best integration with .NET, ADO.NET for access to SQL Server, ASP.NET for access to the M…

>idiosyncratic syntax How is something like `Dim x as Integer` not idiosyncratic? >syntax and semantics that were traditional What's more traditional than C's syntax? I'm not going to tell you that you shouldn't use VB, but those reasons are BS.

"BS"? Ah, religious language wars again?

To me traditional means more like Algol, Fortran, PL/I, the original Basic, and maybe some more.

To me, the Visual Basic .NET (VB) Dim is, right, a bit obscure for now but, of course, back in the original Basic abbreviated Dimension for specifying bounds in arrays and was plenty clear. Microsoft may still be laughing at deciding to use Dim in VB. I regard Dim as a small mistake.

Finally to me, the VB Dim is like the PL/I Declare or the Fortran Real, Integer, Logical, Character.

For declaring (don't know a better term) in C, I can't gripe with just

int i;

IIRC that the syntax of C is idiosyncratic actually is somewhere in Kernighan and Ritchie.

In the example in Kernighan and Ritchie with declaring functions, the arguments, the return values, pointers to functions, etc., I couldn't get through the syntax. I'm sure there are a lot of C function declarations I couldn't proof read. Maybe if I worked and worked and ran a lot of test cases, I could understand it -- I'd also forget it by next week.

For loops I see Fortran's

Do i = 1, 10

as okay. The PL/I loops I like much better. In total what VB .NET has in loops is better still. The C loop syntax I don't like.

C wants to make a lot of use of their ++ idea, and I don't like it -- it's too sparse for me. One old excuse was that on some DEC computer being used at Bell Labs, there was an instruction for ++. I'm not impressed; to me, the most important reader of the code is me, not the processor!

Then where C permits

++i+++++j++

which officially in the language it does, I just gave up. Actually, when I tried that statement, two different C compilers gave different results. So, the C compiler writers can't understand the semantics of such syntax either.

I don't want to write, read, teach, debug, or bet my business on code with such syntax.

I've written some C, and I'll write some more if I have to, but I don't have to like it.

With C, having some syntax that is tricky to read seems too close to an actual objective.

It may be that some programmers regard VB as not manly enough. To me, VB is Microsoft's best language for applications programming and the code of my startup.

Re: Ask HN: How do you decide for a backend language?

#94
post #77
post #21

I have a personal rule, which I've shared on here before and people seem to think has some merit: If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

And if it's innovative in a technical sense, then choose innovative technology. If it's merely innovative in a business sense, then it doesn't matter what you choose.

This is actually close to the opposite of my rule.

Re: Ask HN: How do you decide for a backend language?

#95
post #21

I have a personal rule, which I've shared on here before and people seem to think has some merit: If a project is innovative in a business sense, then choose a boring technology. If it is boring in a business sense, then choose an interesting technology.

Well, put. I am borrowing it.

Re: Ask HN: How do you decide for a backend language?

#96
post #5

If you just want to dabble with a bunch of languages pick whichever language is at the top of HN that week. If you want to create good software then pick a language and stick with it for a decade so you really get to master it. If you want to become a better programmer then work on interesting and difficult problems regardless of the language.

@gizmo is right, but u might prefer to learn from horrible experiences instead
Post reply on HN