Тёмный

"Type Systems - The Good, Bad and Ugly" by Paul Snively and Amanda Laucher 

Strange Loop Conference
Подписаться 82 тыс.
Просмотров 25 тыс.
50% 1

Наука

Опубликовано:

 

28 авг 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 25   
@argh523
@argh523 10 лет назад
A little PSA if you're thinking about watching this for educational purposes: They start out saying that this is going to be a TL;DR about type systems. But they don't do any actual explaining of anything, they just comment on things. Between all the references to things that are never explained, they give a lot of advice they ignore during their own talk. It's kind of fascinating really.. - "Simple, expressive syntax is key!" -> only show complicated code snippets which aren't explained - "Explain things easier, don't just talk about math stuff" -> constantly talk about math stuff - "It's really hard to learn about this stuff" -> constantly make fun of people who don't know about this stuff Apart from that, if you do know a thing or two about type systems, you might be interrested in what they have to say. I can't comment on that, I admit that I don't really know anything about type systems. But I watch a lot of talks on subject matters I don't know much about, and I usually learn stuff. Not here. And at least I don't think this stuff is really over my head, they just move on to something else as if mearly mentioning something is enough to make a point *. And hey, if you know lot's about this stuff, maybe it is, but there isn't much you can really learn here. All in all, the whole talk feels really disjointed, just a bunch of things that would be more effective as a list of links of the concepts they're refering to. There doesn't seem to be a real point besides "static typing is good, idiots" * Example: "If you haven't seen a statically typed language with genuine sum types and pattern matching you're really missing out" -> ... and you're not going to see one here.
@louroboros
@louroboros Год назад
Thank you for saving me 30+ minutes of my life. "But I watch a lot of talks on subject matters I don't know much about, and I usually learn stuff. Not here." This summarizes my experience interfacing with both functional programming culture but *especially* the intersection with type systems and anything to do with code "correctness".
@a0um
@a0um Год назад
Thanks
@halgari
@halgari 10 лет назад
I have a couple of issues with this talk. Firstly let me say that I loved the last talk these two speakers gave, and was excited to hear "part 2". Sadly, I found that the talk started with a "no true scotsman" argument, in the form of (paraphrased): "those who think they don't need types apparently haven't used them before, or haven't used a good type system". This is an argument that cannot be argued against, since "good type system" can be used as a moving goal-post. Secondly, ad hominem attacks were leveled several times in this talk. One particular case was one where those who don't use static typing were labeled as "unethical". Especially those dynamic language programmers who didn't practice TDD. This completely rejects other forms of testing, such as property based testing, and or simulation testing. Thirdly, after attacking many languages available, the speakers admitted that they couldn't find any language that fit their criteria, except perhaps Idris, which they admitted was not production-ready. But they claimed that the perfect statically typed language wasn't far off. But over all the talk contained quite a bit of vitriol and sarcasm. I started watching this video with the goal of learning about type systems and how they could benefit me, but instead all I found were appeals to authority, and a general lack of hard facts. Where are the studies that show all the effort gone into all these types of typing are actually worth the cost? Where are the papers that show that software-in-the-large is much more reliable when it relies on advanced type systems? None of this information was provided by the speakers. In short, there are many ways to convince someone of your point-of-view, accusing them of being immoral is rarely a good place to start.
@moeaboulkheir
@moeaboulkheir 10 лет назад
The attempts at dispensing wisdom as fact were the low points, for me, and they look particularly ridiculous if you spend a moment taking them seriously. The assertion that it is morally negligent for a developer of production systems to use a dynamically typed language is nonsensical. It implies an exclusive moral responsibility of programmers to reduce the number of type-related bugs in production - a hopeless claim - as it erases every other difference between an arbitrary dynamically typed language and a static one - and the possibility that those factors could have substantive moral implications (consider, say, speed of development, the wellbeing of the programmers, or the emotional cost of having to work with type nerds). Also, the above, paired with the statement that some type systems are objectively better than others, surely lead us to the conclusion that it is morally negligent for a developer to use any type system other than the most objectively good one? (i.e. the improvement in quality/security between a given dynamic language and any not-the-best type system could possibly be much lower than the improvement had from moving from #2 Magic Type System to #1 Magic Type System. I know this pedantry, but there's something paralysingly ridiculous about a Scala programmer declaiming objective truths.
@Auxf5
@Auxf5 10 лет назад
I didn't see it as a fallacy at all. They're not saying "No true programmer doesn't use static type languages" - they're saying "If this is the argument you've heard and dismissed for static types, you've heard the wrong argument."
@eliasvasylenko
@eliasvasylenko 10 лет назад
"Sadly, I found that the talk started with a "no true scotsman" argument, in the form of (paraphrased): "those who think they don't need types apparently haven't used them before, or haven't used a good type system". This is an argument that cannot be argued against, since "good type system" can be used as a moving goal-post." Did you watch it? The entire purpose of the presentation was to try to more strongly pin down where those 'goal-posts' are. They have not set them up as something to be moved. "Secondly, ad hominem attacks were leveled several times in this talk. One particular case was one where those who don't use static typing were labeled as "unethical". Especially those dynamic language programmers who didn't practice TDD. This completely rejects other forms of testing, such as property based testing, and or simulation testing." That's not an ad-hominem. They were making character observations based on their argument, not constructing an argument based on character observations. I do agree that they were wrong to say that, though.
@ericdefazio4197
@ericdefazio4197 9 лет назад
Reminds me of the quote: "There are only two kinds of programming languages: those people always bitch about and those nobody uses." -- Bjarne Stroustrup
@CBaggers
@CBaggers 10 лет назад
Ugh..the is probably some good info tucked away in here but it's sneering tone seems very un-strangeloop. Spends more time in the intro setting it up so anyone with an alternate view is ignoring facts, than it does making points.
@svenrobert84
@svenrobert84 7 лет назад
I am half way trough this talk an so far i am disapointed. just swings at programming languages people use every day to solve problems. so what if Go dosent have parametric polymorphism. it's easy to write http-connected services which is great. did these 2 ever have to work in an enterprise environment where time to market and in house know-how counts more then theoretical aspects?
@theoriginalanomaly
@theoriginalanomaly 9 лет назад
I think you'd have to be a little sensitive to find this talk insulting. Most Type systems are terrible, and languages without type are also terrible. Usually it is a trade off. JS is awesome in ways java is not, but at the cost of being terrible in ways java is not. Namely, with finding errors in your code. It doesn't have to be a logical error, it could just be a misspelled word in javascript, and it can take a lot of time finding why the object.lenght is never changing. Conversely, in java it can take a lot of verbage and complex casting to do something rather simple. I do like optional typing. Dart to me seems like a much better language then javascript for this reason.
@nicolasgrilly
@nicolasgrilly 10 лет назад
This is an interesting and useful talk, but very pretentious in my opinion. Many times, the speakers try to sound funny, but mostly at the expense of someone or something else. They claim a lot of things, but without bringing any substantial evidence. I'm sorry to be harsh but, despite some interesting content, this talk looks like a political meeting more than an engineering conference.
@evandrix
@evandrix 10 лет назад
Any slides in PDF available online?
@KelvinMeeks
@KelvinMeeks 5 лет назад
This was one of the most thought-provoking talks I attended.
@SchellScivally
@SchellScivally 10 лет назад
The Haskell community is super nice and respectful. People will definitely listen to you even if you do not have a PHD. Come to IRC and hang! irc.freenode.net #haskell
@ArthurBugorski
@ArthurBugorski 10 лет назад
Why doesn't she have a mic on?
@vitfirringur
@vitfirringur 9 лет назад
This talk is incredibly condescending and obnoxious.
@deftlyhacked3494
@deftlyhacked3494 7 лет назад
There was absolutely nothing of value in this talk. It's all subjective opinions being asserted as facts, and ridiculing other languages and the people who use them. Yes, having expressive type systems can be useful; but it's just one aspect of a metaprogramming facility, and there is truth in the statement that a majority of the errors that occur in code are not related in any way to the use of weak or dynamic typing. Strong type systems have a tendency to introduce a lot of friction, which reduces productivity. However, they can be very useful in statically compiled languages by annotating objects with information that allows the compiler to generate optimal machine code. It's a double edged sword, and it's best to explore all approaches to find a balance.
@davidandrewthomas
@davidandrewthomas 9 лет назад
Wow, I couldn't finish this video. Stopped after talking about parametric polymorphism. I hate it when people share their emotional feelings and then label it as pure logic. Why must people be so condescending?
@BostonRubyEric
@BostonRubyEric 10 лет назад
Big swing and a miss with this talk.
@KunLi
@KunLi 10 лет назад
Whether you are crappy programmers or great programmers purely depends on if you accomplish crappy software project or great software project. It has NOTHING to do with your understanding level of "Type System". That is FACT.
@zantrua
@zantrua 8 лет назад
+Kun Li If you don't understand how types work, you are doomed to fall into a world of errors. Just take a look at C, a language with no real type system and a million security holes caused by this lack of proper type. Lots of projects are "accomplished" and yet nearly unusable garbage, rack with buffer overflow attack surfaces. Most people would call Adobe Flash a "great project" and yet it is clearly written by awful programmers. If they had chosen a language with a proper type system, there would be no such problems.
@KunLi
@KunLi 8 лет назад
My point is "Whether you are crappy programmers or great programmers". You do want to use a language with good type system if you have choice and it makes sense for your system.
@badpotato
@badpotato 2 года назад
there isn't really much information in this talk
Далее
"The Trouble With Types" by Martin Odersky (2013)
48:52
Ajdarlar...😅 QVZ 2024
00:39
Просмотров 824 тыс.
Type Theory for the Working Rustacean - Dan Pittman
19:24
The Right and Wrong Way To Make Turn Based Combat
29:06
Propositions as Types - Computerphile
17:46
Просмотров 98 тыс.
The Tragedy of systemd
47:18
Просмотров 1,1 млн
MSI GAMING BLACK SCREEN / STUCK ON BOOT LED
1:00
Просмотров 5 млн
S23 ultra screen 💥 #Fixit
1:01
Просмотров 4,6 млн
Dyson is Back… Why Do These Exist?
10:40
Просмотров 2,9 млн
iPhone VS Samsung🤯
1:00
Просмотров 18 млн