Views : 112,092
Genre: Science & Technology
Date of upload: Jul 22, 2010 ^^
Rating : 4.911 (37/1,631 LTDR)
RYD date created : 2022-02-20T18:24:32.023846Z
See in json
Top Comments of this video!! :3
This talk is from 2010 and it proves the things he is talking about. If you see newer programming languages like Swift, Kotlin or ES6; they are all converging to the same language. Still, the software world suffers from those old-aged problems: error prone code, readability and sharing of code, programmer productivity, compilation speed etc. If those languages are very good, why they can't solve for those who write them? After a long time; People will realise this and Go will be very successful because of its simplicity. There is no doubt about it.
21 |
I agree with Rob's general view on patterns. It's brief so he's probably got a lot more to add to that given time, but overall a pattern does indeed highlight a weakness in the language. If something can be so predictably designed/written often enough to have a name, then it should be inherent within the language. The other (main) issue I personally have with patterns is that it gives the impression that there's a stock solution for every possible problem and all a coder needs to do is find the right pattern to apply. From my experience this is usually a result of education where being a good student in programming correlates with being able to regurgitate the most applicable pattern given an exam-type scenario. Over the years in dev (and interviewing coders has been part of that), I've come to the conclusion that patterns remove what is actually the most important aspect of logic/coding - the "grey area" as I call it. A pattern offers the idea that every "real-world" scenario can be resolved by using a method which 100% resolves it and it's just about applying the right pattern. This makes patterns ideal for someone who can "fill in forms" as Rob elegantly puts it. Why doesn't Java/C just have "applyVisitorPattern(Object Visitor, List
Man this video made me feel like i just drank a glass of cool fresh water after a long walk through the scorching desert. Really well put.
Industrial code is REALLY verbose... java does not help either. It seems more like a 3in1 instant coffee: Just pour some code in there, and it will turn into this beautiful cool new app. But we all know it's not exactly the real thing, like a good made arabica espresso.
28 |
It frustrates me that people keep forgetting that the Lisp community has been slowly working on all of these problems for decades and has solved a lot of them by now... Clojure and Common Lisp, for example, are incrementally compiled (so you can work interactively without loosing performance), optionally statically typed (so, once you've worked out an interface, you can get static type checking, but it doesn't slow you down when you're experimenting), and have great concurrency primitives (CSP, CAS, STM, immutable data structures, etc.). Plus, because of the power of lisp macros, it's easy for libraries to add new features to the language/compiler in a sane manner, so complex code patterns can be easily abstracted away.
14 |
@nickik21 The go compiler does make pretty fast code, and it's not heavily optimized.
People can go ahead and make an LLVM based Go compiler if they want to. They went with a code base they were really familiar with, which was the Plan 9 C compilers as a basis for the Go compilers.
Go is pretty expressive, it's got closures. it's got a nice approach to interfaces and types. It's got concurrency built into the language as well as a CSP like programming model.
3 |
Just a beginner's observation, but when I read my forty-some books on Java programming, I see many code examples that are unnecessarily complicated with constructors and tiny methods calling each other, presumably in the name of
encapsulation and code reuse. This code could be written easily in a procedural style.
I'm led to believe that Brian Will is right: "Object Oriented Programming Is Bad".
Why do I need forty books? Because the many ways of doing the same things in Java all need explanation - and I guess they are hard to explain because most of the explanations are poor.
10 |
@farastray1
Are we talking about .net or C# as a language? Because .net has IronRuby and IronPython.
>NET apis suffer from the same flaws as Java.
That is disputable. I didn't saw in this presentation any mentioning about Java library flaws we could project on .net.
>WCF is destroying productivity
That is disputable. It is not every way tool. It is pretty small part of libraries. You don't have to use it, right?
I also can mention such marvelous project as Nemerle meta-programming.
|
6:27 What was wrong with old integer 80? ROFL
1 |
Computer Science is like LIFE. You first say that herbs are medicines(medival), then we replace them with incantations(premedival), followed by Unani(5th Century), 17th Century(Allopathy), 21st century we go back to herbs.
Similarly, Go is an example that verbosity provided by C++ and Java HINDERS programmers more than it supports them.
Python is also another example of why we should have LOVED C.
4 |
@XorLavir the .NET apis suffer from the same flaws as Java. Any little thing is a big chore and there's a community culture of accepting -- or shall I even say embracing -- undue complexity. The thing that continues to make Python or Ruby pleasant to work in is that the communities as a whole are pragmatic and will call you out if you write constipated code. This is what .NET needs but suffers from too many years of neglect and bs initiatives - just look at how WCF is destroying productivity.
6 |
@AtanasovPetar
6 years ago
I watched all Rob Pike talks because he is so god damn funny. "What was wrong with the old integer 80?"
92 |