Hacker Newsnew | past | comments | ask | show | jobs | submit | olmobrutall's commentslogin

I totally agree. Sure there where similar things a in the funcional world before, but LinQ had some important pros:

- deferred ejecution by default, saving memory and time

- step by step syntax, each new operation is at the end, not the beginning

- excellent type inference and intellisense, js? ruby?...

- it works with the same syntax on the database!!! Haskell?

- map and filter where there, but groupby and join where not so common in previous query comprehensions APIs.

- the most important: it's actually usable in jobs you get paid for, not experiments you can make at home or university.

There are however two things that doesnt make it 100% perfect:

- expression tree lambas are identical to non expression ones, making it hard for developers to know if one step is going to be translated or executed. I would have chosen => for non expression and -> for expressions for example or something like that.

- having two syntax, method chain and query comprehensions, produces a frequent anoying back and forth since some operators are better written in one (let, join, group by) while others are only available in method chain (take, toDictionary...)


In my opinion in git commit history is central and file tree is secondary. Something like GitExtensions serves me better than Git SourceControl Provider or TFS until they reallize about it.


I totally agree with you. Sometimes the anti-MS feeling here is absourd.

C# is an amazingly designed multiparadigm language with excellent tooling that works in plenty of OS and devices. If it will come by google the open source world will be wet already. Having an ideology is ok but shouldnt be confused with technical merits. Some examples:

IQueryabe<T> and expression tress let you write expressive queries that run on the database but have compile-type checking. Amazing for mantaining big datacentric apps.

Async/await let you write complex asynchronous code as if it where usual imperative one. With for, try catch, etc... The compiler changes it for you.

And all this on a real language that runs fast and you can use in your work to build phone apps, web apps, win apps and also, but not just, compilers and authomatic theorem proving applications.


Congratulations, really good work. Making videos is hard, at least for me cos I'm not native, and they get easily outdated.

For a .Net guy with a little knowledge of Haskell like me, in the video you can show not only the language but the IDE and the programming experience.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: