|
To which they reply, in a single voice, "It's a small buzzing insect that makes honey."
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Bartender: o'hyou Seaweed serve you, but your gunkan stay holstered. Don't be koi, my wife, shii-take my car to nori's house, but, none-the-less, welcome to mebaru guys. I'll wakame self over to your table to ask how kani help you.
for reference:
The Ultimate Sushi Glossary[^]
|
|
|
|
|
wizardzz wrote:
185 sushi chefs walk into a bar. |
And the Bartender says: chop.. chop... chop... chop chop Chop CHop CHOP CHOP! CHOP! CHOP!... (and after 3 mins of this continues, all the chefs leave the bar.)
|
|
|
|
|
The bartender says, "Sorry, we don't have karaoke."
|
|
|
|
|
Sorry, it's not tako night.
|
|
|
|
|
... and the barman says "hey- look! 185 oxymorons"
MVVM # - I did it My Way
___________________________________________
Man, you're a god. - walterhevedeich 26/05/2011
.\\axxx
(That's an 'M')
|
|
|
|
|
I'm in the middle of some serious refactoring (banking application)... Part of it is JavaScript code and the other part is C#. Whenever I do some changes in C# code I feel like in haven. Maintaining code (especially written by people who no longer work on the project) is soooo much easier within strongly-typed language. I just hope sanity will prevail and one day we will have a chance to write strongly-typed client side code too (directly and without plugins). And yeah, I like jQuery etc. but this recent blind love for JS is just scary...
|
|
|
|
|
You may want a gander at typescript ?
|
|
|
|
|
That's why I wrote "directly and without plugins". TypeScript is nice but like other tools of its kind there's a drawback: you debug other code than you write
|
|
|
|
|
What's the point of strong typing if you still have to debug your code?
|
|
|
|
|
Is this a serious question?
|
|
|
|
|
Absolutely. What's a point of an incomplete type system which does not carry a correctness proof? If you go into strong typing, do it properly, or don't do it at all.
|
|
|
|
|
The fact that code compiles doesn't prove that business requirements are met. Strong typing makes live easier but it doesn't guarantee that program is doing what it should from end user perspective.
|
|
|
|
|
And how debugging is going to ensure such conformance? QA testing can help, yes, but not debugging. Debugging is useless, as long as your code is guaranteed to do exactly what is specified. If program is working incorrectly from end users' perspective, then specification have to be fixed, not the code.
|
|
|
|
|
I didn't say that debugging is going to ensure conformance to business requirements. All I'm saying is that it is ridiculous to say that strongly typed programs don't need to be debugged. Strongly typed programs contain bugs too. And debugging (stepping through code with a debugger attached) is also a normal part of development. Sometimes its the only way to check what the program is really doing - cause the guys who wrote that +100K LOC (5 years ago) are no longer working at the company end documentation is almost non existing...
|
|
|
|
|
This is not what I said.
I said, why bother using "strong" type system if you still have to debug your code afterwards? You either use a real, proper static type system and then you never have to debug your code interactively, or you'll be more flexible with a dynamic type system and do all that hipster interactive stuff.
People tend to overuse interactive debugging, and it is really sad. Debugging is not a "normal" part of development. It should be considered a very last resort, when nothing else works. With a proper type system you don't have to step through your code to find out, what the program is "really doing" - types will tell you all about it straight away.
|
|
|
|
|
vl2 wrote: What's the point of strong typing if you still have to debug your code?
Presumably you either don't understand what strong typing is or you don't know how to debug any application.
|
|
|
|
|
Presumably you never heard of a proper strong, dependent typing. I never had to debug my Coq or Agda code - if it compiles, it works, and it is *proven* to be correct. Why debugging then?
|
|
|
|
|
I agree - the biggest issue I have with Ruby is the duck typing, it's really easy to get oneself in trouble and it results in bad architecture (actually, no architecture). I really miss strong typing and good design practices (mainly interfaces and inheritance) that are simply missing. It doesn't mean that one can't do those things in Ruby, it's just that they're not typically done.
I just started looking at WebSharper[^], mainly out of curiosity, and it's interesting that they can convert F# to Javascript. Some interesting possibilities, and it's more in the direction that I'd like to see code being written - write in some common language and use the damn computer to generate the JavaScript. Seems like we're not using our tools to their fullest capacity, but that's nothing new.
Marc
|
|
|
|
|
morzel wrote: Part of it is JavaScript code and the other part is C#
at least there is no XML
|
|
|
|
|
I'm a C++ coder. Aside from a quick note that C# code doesn't distinguish between namespace and class member stuff (always that single dot to divide things, instead of a nice :: ), I feel your pain.
Yet, I understand why javaScript (and php) are weakly typed. Ultimately, as a web page, everything ends up as text. It does make sense if you consider that much of what one does ends up, eventually, as HTML - crudely one could argue it has only one type, which is text. So, although the typing in a strongly typed language makes undocumented maintainability more evident - if one ignores overloaded functions - I understand why one would move to the other side and eliminate casts and conversion.
PHP, for what it's worth, does have their === operator which is, by-and-large, a way to do some strongly-typed comparisons.
There's a place for weakly typed languages - it's a specialization with a place.
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "As far as we know, our computer has never had an undetected error." - Weisert | "If you are searching for perfection in others, then you seek disappointment. If you are seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
the point is beginners rarely never follow tutorial whose subject is "refactor this 100 000 LOC project"
It's harder to appreciate strong typing from the beginner point of view.
For the one that already lost its hair once, the advantages are crystal clear.
|
|
|
|
|
Nicolas Dorier wrote: harder to appreciate strong typing from the beginner point of view
Unrelated, but that reminds me of when I was just learning BASIC -- using floats (x) and heard about integers (x%), and thought, why would would I want to use an integer when the floats work just fine?
|
|
|
|
|
That was a good question :p
I guess you understood when it bit you the hard way because, in some odd condition, (a / b) * b != a . Then you started to appreciate the beauty of integers :p
|
|
|
|
|
Nicolas Dorier wrote: the beauty of integers
And recognized the ugliness of BASIC. That was once I started learning Pascal.
|
|
|
|