Ranter
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Comments
-
@uyouthe
I could have gone with any number of things, but that level of "can't even be bothered" kind of embodies all of them pretty well. -
Voxera113884yThe reason for orelse is that “or” in basic from MS has never been short circuiting, the same with pascal which also uses eager evaluation since at least the 60’s
Many of the first languages used eager eval.
So its not laziness, its avoiding a major breaking change ;)
The rest I agree with :) -
Voxera113884y@SortOfTested but vb.net is just a new implementation of basic that was created 1964.
For reference C came 1972.
But short circuiting was also a bit controversial at the time since it mixed control logic with boolean logic.
You can read more here
https://en.m.wikipedia.org/wiki/... -
Next time when you get random Hebrew PHP error messages, you know who to contact.
LMFAO -
@Voxera
Much like VB itself, it had little if anything to do with basic outside of the name. It broke all manner of Basic conventions, so there's not really any excuse for fixing something broken in the context of a modern object-oriented language. Basic was a procedural language, which requires mechanisms that don't make sense in that context. Things VB.net actually was:
- a play by Microsoft to keep the VB6 community from defecting
- a tech demo for CLI/CLR viability, and a means to try and draw a distinction between .net and java in the early ecosystem
- a way to give an old Microsoft employee with political pull somewhere he could retire.
- a thinly veiled attempt to draw the MS office "powerusers" into using .Net. -
Voxera113884y@SortOfTested well, i have used basic since GWBasic 2.11 up to vb.net.
Once C# cane I switched over.
So I know, and still, basic is not the only one, java also have non short circuit versions, same with delphi which grew out of turbo pascal.
So its more a question of why change the existing one when all other languages from the same age and philosophy has not.
VB.net was much as you said a way to keep their current developer base, why risk that.
Instead of risking to alienate them they created C# for those that disliked the basic language.
Related Rants
-
justamuslimguy20All the stupid date functions where the days range from 1 to 31 but the months range from 0 to 11
-
sudo-woodo16Whatever the fuck Python's ternary operator syntax is supposed to be.
-
Root18Most hated language features? PL/SQL: • it exists XSLT: • it also exists PHP: • it still exists. VB:...
Java:
Primitive streams. Their need to exist is a monument to legacy failure.
VB.net
OrElse and AndAlso short-circuiting operators. The language designers were too fucking lazy to process logic, so they give specific keywords for those cases.
PHP
Random Hebrew error messages
JS
Eval. It can be used responsibly, but most of the times you see it it's because someone fucked up.
C#
Lack of Tuple destructuring in argument specification. Tuples were added, and pattern matching was added, and it's been getting better. The gear grinding starts with how Tuple identity assignment in arguments is handled. Rather than destructuring into the current scope, it coalesces the identity specification into a dot property of whatever the argument name is. This seems like an afterthought given they have ootb support for ignore characters.
Typescript
This will probably be remedied in the next version or two, but Tuple identity forwarding between anonymous scopes normalizes to arrays of union types, because tuples compile to typeless arrays. It's irritating because you end up having to restate the type metadata in functional series even when there is no possibility for any other code branch to have occurred.
rant
poly af
wk229