This should be good

This should be good

Attached: UjCluzk.png (661x533, 350K)

Other urls found in this thread:

microsoft.com/en-us/research/uploads/prod/2019/04/beyond_structured_report.pdf
twitter.com/NSFWRedditGif

We already have Haskell. We don't need Microshit languages.

If by "good" you mean shit, then yes.

not another fucking language

Is this C## ?

Attached: 1540649213119.png (300x220, 191K)

it's pascalyscript

Guarantee 99% of posters on this board can't even get through the first page of the research paper microsoft.com/en-us/research/uploads/prod/2019/04/beyond_structured_report.pdf

this

yeah but well still shitpost about it like we know what were talking about

guarantee you're a fucking retard

idiots admire complexity...

what a stupid sounding name

You wanna fucking bet?

Only read "microsoft new language" and I already know it's shit.

>complexity is bad because...

For background, Microsoft's relatively long history in developing programming languages is rooted in an understanding that the programmer is fallible and needs all of the help and tooling they can get... which is why an installation of Visual Studio can reach tens of gigabytes.
This paper admits to as much in the very first paragraph. The paper acknowledges basic and well known qualities of Functional Programming languages as well as alluding to Dependent Types in one of its stated goals (formal analysis and verification)
I haven't yet read the whole paper, but its primary real contribution appears to be restricted recursion (for superior code analysis, typical Microsoft), completely defined language semantics (proof?), bulk algebraic datatype transforms (oriented towards programmer usability as opposed to concurrency), and a level of abstraction that abandons the assumption of a von neumann system (alternatives not mentioned)

Because it opens up doorways for things to fuck up.

Interesting, have to take a look. Could be crap but won't say so until seeing more.

OH NO NO NO NO

Attached: bosque.jpg (800x800, 72K)

>bosque
Shittiest name in the last five years.

The language has renamed abstract interfaces into "concepts" which is a greatly missed opportunity to borrow from Haskell's Typeclasses, and is likely to confuse C++ programmers who think of concepts as typeclasses.

I never considered the idea of tuple members being potentially optional before. I have no idea what I would use it for but it must be useful.
I've noted that the function prototype syntax is extremely verbose and which resembles Python 3's static type hints.
function foo(a: Int, b: Int): {x: Int, y: Int}
A function "foo" which returns a completely defined Record... hopefully Records can be predefined.

The bulk algebraic operators have very... interesting syntax.
I'll admit that I have no better ideas, but if you just look at the operators by themselves it would seem as if you were trying to assign data to an l-value the way a sperm tries to fertilize an ovum.

Instead of borrowing Functors and Monads from FP, they decided to use C#'s null coalescing operator to handle optional types, a classic use-case for functors and bind.
I guess the intent makes sense since this language is apparently intended to appeal(?) to drooling weblords.
and having said that there are no explicit loops in this language lmao

a genius makes it simple

Yes, that's why we have C++ today

Microsoft makes a lot of good stuff. Too bad their OS is becoming increasingly anti-consumer. I really refuse to endorse that kind of business model

The amount of effort it takes to add new fields or otherwise change constructs in Bosque seems to be absolutely minimal, which is great because it reduces cognitive load and potential for mistakes in large classes.
Apparently they proved to completely eliminate indeterminate behavior in the language by being "very careful" and taking the Haskell approach of saying "we're not dealing with that stuff neener neener neener!"
Unconvincing to say the least.

They simultaneously eliminated references and equality-comparison issues by creating a "composite key" type, which determines object equality by comparing a subset of fields. If this reminds you of SQL, that is probably not a coincidence.
This is actually an extremely good idea, though the implementation is questionable.

>we're fully deterministic and functional so there's no need to log and we don't support it :DDD
>but if we have a runtime exception we godda do something so we'll re-run your program in a different context so you can see the line numbers :DDD
I can see this backfiring pretty quickly.

>fug loops go functors
k
>we wanna murder recursion so that no one ever has to actually use it
They also never really go into how their solution actually prevents fully generalized recursion.

The author never really defines "regularized programming" so I offer my own definition: "when your language autistically restricts what you can do to guarantee some facts about your program"

>MS
>font

the simplest method is always more complex

aka
if something is already complex then it means they didnt dumb it down enough

Because Tyrone just isn't cut out for the other diversity hire languages right?

Attached: CZK3HG3UEAAHqbD.jpg (1024x1024, 186K)

>bosque

They should have called it burch, bandir, bemple or bynagogue instead.

>typescript inspired
I've never actually retched at a sentence, but I actually feel sick.

Isn't TypeScript inspired by C#? What's the point of making another language inspired by TypeScript?

Microsoft is finally dropping C# and F#.
That's awesome!

TypeScript killed Dart and destroyed JavaScript, so Bosque will atomize C++, Go, Kotlin and all the shits we do now.

I’m retarded and can’t tell sarcasm online. Is this true?

F# is fucking autism.
I'd love it if they genuinely dropped C#. The whole .NET ecosystem needs to fucking die.

The history of microsoft dropping languages out of existence goes to show that picking up TypeScript could be a fleeting investment of time that will fail to pay dividends down the road.

>TypeScript killed Dart and destroyed JavaScript
This is possibly true.
I do somewhat like TypeScript, and Dart was a moronic non-starter like so many other idiotic little languages out of Google
>so Bosque will atomize C++, Go, Kotlin and all the shits we do now.
That would be fucking sweet.
Go is already kinda dead; Rust and D seem to have a substantial amount of overlap with that shit.
Kotlin kind of went the same way as Scala, in that Java 8 re-absorbed those communities a tad.
C++ appears here to stay because there needs to be at least one language that is close to the metal while still not being motherfucking assembly.

wow another programming language. it's fucking nothing

>"programming language" that requires node.js and typescript to compile

it's time to stop

kek

as a developer i port to windows last. microsoft just sucks

Attached: Screen Shot 2019-04-07 at 20.54.04.jpg (2464x1326, 196K)

>Microsoft Research
>new language

See F# and how well it's doing these days

>close to metal but isn't assembly
So, C?

Although it sounds counter-intuitive, I've heard there are some things that C++ does faster, through extra compiler flags/hints and shit like that.
I heard that high-frequency trading companies like C++ more

>typescript
i just looked up what that is. what a fucking abomination micro$oft

>Guarantee 99% of posters on this board can't even get through the first page of the research paper
Challenge accepted.
I will report back after reading (or bailing) on the 1st page.

>Guarantee 99% of posters on this board can't even get through the first page of the research paper
Hey, it's me, here. So here's the summary of the 1st page:
> abstract: we ain't proposing nothing new; we be extending what was done before
> introduction: structured programming + abstract data types helped make programming easier; but loops? Nah mah. Loops hide programmers' intent; they create complexity.
> intro cont'd: BOSQUE will get rid of this bad bad complexity via "regularized programming". We got 3 examples.
> complexity sources: there be 5 sources of complexity
There you go. FYI, the text is comprehensible by even a woeful normie like me.

>> getting rid of equality comparison issues and references

absolutely based, the insane complexity of reference equal in c# drives me insane (virtual .Equals, interface IEquatable equals, Object.ReferenceEquals, static ==, != equals)

imo general purpose languages could borrow alot from SQL, which has some really great ideas.

what's wrong with f#, it's a great language no? Discriminated unions alone would make me love to switch to it, with type inference and records the icing on the cake.

every time i use the visitor pattern, i die at little inside.

No you're right, higher level abstractions can provide an overall better result, an easy example of this is constexpr (or in Rust, macros which parse the formatstring at compile time). I was only mentioning C because it fits the "bare metal" description infinitely better.

>what a fucking abomination
It's a subset of JS that has static typing. Explain how that is an abomination and not an improvement.

javascript already is the worst thing that could happen to computing, this makes it even more accessible

> 4.6 Looping Constructs
> the authors [...] engaged in an empirical study of the loop “idioms” found in real-world code. The [...] results of these semantic loop idioms shows that almost every loop a developer would want to write falls into a small number of idiomatic patterns which correspond to higher level
concepts
I feel like the authors of this paper are working on a different level than me. When I solve a problem, I reach for loops all the time.
Yet the authors here seem to sniff with disdain about these structures and want to replace them with "filter, find, group, map, etc."
Have you ever felt like a caveman, holding his arrowheaded spear proudly, only to stumble upon a SpaceX launch site? That is how I feel right now.
I honestly could write code with loops from now until I die and not pass a single thought about whether there was a _better_ way to do this.

Attached: Screenshot 2019-04-22 at 12.32.30.png (518x790, 287K)

In the end its a loop iterating over a set of elements and calling developer provided filter and map functions. Just like what Java does with Stream API.

Weren't they already doing this with F*? What's the difference now?

Attached: kel[1].gif (200x150, 1.02M)

I don't buy that. Visual studio without resharper is appalling.

It's a research project. Realistically though, this only got big news because there is Microsoft labeled on it, unlike all those other thousands of PLT research projects nobody cares about.

Attached: 2014-08-08-669-Photon-Lance.png (1020x1029, 1.77M)

>open source
oh boy here we go

>>"programming language" that requires X I don't understand and thus don't like to compile
ok retardo

Hmm, facinating. But what about the static typing and variable loops?

Attached: 1439457413378.png (510x346, 209K)

Oh hey this thread is still awake.
Bosque includes no dependent type awareness, that I know of. This means that it does not perform true whole-program formal verification.
F* and LowStar are languages dedicated to answering the engineering problem of writing programs that provably have no problems... programmer usability is not a consideration.

However in Bosque, programmer usability is intended to be the only consideration, and as dependent types are diametrically opposed to that goal, it does not include it.

From what I read, their idea seems to be about applying analysis to asserts, which to me is a novel idea, and asserts in code is something some programmers already do.
We'll have to wait and see some real code case studies to determine if this actually returns dividends or not.

it's an FP so loops aren't a thing, but types are explicitly declared.

It's just Haskell for brainlets.

I’ll make you take my cognitive load

Takes one to know one.

>microsoft typescript monkey independently rediscovers immutability and list comprehensions

>Javascript#++.NET

>The history of microsoft dropping languages out of existence
vb classic and fake java. What else? I'm more concerned about their GUI APIs

Attached: 2014-09-09-676-Trials-of-Job.png (1020x1029, 1.15M)

You're not this retarded, right? Typescript is inspired by and implemented in Haskell.