Fed-up with strongly typing
-
-
Complaining about having to write a little more code to be genuinely strongly typed is not a valid reason for using dynamic over strong typing. Look at how equality operators in PHP work, or don't work if we're being totally honest.. I'd rather incur a little more overhead in having to properly declare everything than spend the same time sifting through code written in what is essentially still a procedural language, desperately trying to find out why my
if(a == b)
isn't working like it should.(a==b) is nothing I would personally write in a dynamic language...
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
I prefer strong typing. I'm happy for those who don't to do their thing without it in JavaScript or WhateverLang(TM) at a minimum safe distance of two parsecs from me. When they do however and then have no idea why their function produces the correct result only on even numbered days of the week don't expect me to come to the rescue, I'm out of distress call range. Yes they will be 'code complete' before I will and yes they will almost certainly write more lines of code per day. However when I have debugged through the use cases for my code I will KNOW that it works and will remain working barring an act of God or at least RMS. The same cannot be said for the script kiddies with their fingers crossed sweating the Q.A. results. ;)
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
There is a difference between strong-typing and static typing and I am in favor of both by a wide-margin. Although, I am quite the Javascript Kiddie.
Need custom software developed? I do custom programming based primarily on MS tools with an emphasis on C# development and consulting. "And they, since they Were not the one dead, turned to their affairs" -- Robert Frost "All users always want Excel" --Ennis Lynch
-
that is definitely not the case. but a proficient programmer is anyway testing is code and just don't rely on compilation, right?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
In real-life I am pro consensus but in software programming I like to avoid non-firm-decisions as much as I can. For me it is one XOr the other...
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
Guirec Le Bars wrote:
you have to type
I often hear complaints about how much typing someone has to do. If you don't like typing, you shouldn't be a programmer. As to dynamic typing, while it's cool and fun, in the long run, the number of problems that I've had to fix that simply wouldn't be there in a strongly typed language all but eliminates for me the benefits. Not to mention that I wouldn't write anything that requires performance in a dynamic language, as these usually cannot be compiled into native assembly code but are either interpreted or are run in a VM. So I'll say it again, but this time metaphorically: If you don't like typing, you shouldn't be a programmer. Marc
Testers Wanted!
Latest Article: User Authentication on Ruby on Rails - the definitive how to
My Blog -
And what if the proficient programmer misses one of the code paths during his tests? The compiler will surely check them all.
Freak30 wrote:
The compiler will surely check them all.
I want one of these! Please let me know which compiler as you are using. A compiler which checks all code path is priceless!
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
I prefer strong typing. I'm happy for those who don't to do their thing without it in JavaScript or WhateverLang(TM) at a minimum safe distance of two parsecs from me. When they do however and then have no idea why their function produces the correct result only on even numbered days of the week don't expect me to come to the rescue, I'm out of distress call range. Yes they will be 'code complete' before I will and yes they will almost certainly write more lines of code per day. However when I have debugged through the use cases for my code I will KNOW that it works and will remain working barring an act of God or at least RMS. The same cannot be said for the script kiddies with their fingers crossed sweating the Q.A. results. ;)
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
Matthew Faithfull wrote:
the script kiddies
I am not sure you get me right... I am talking about experienced programmers not kiddies.
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Matthew Faithfull wrote:
the script kiddies
I am not sure you get me right... I am talking about experienced programmers not kiddies.
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
My point is that experienced programmers don't use 'dynamically' typed languages unless they have to because experience teaches them that it's a bad idea. It doesn't seem like a bad idea at first because it's 'easy' but when you look back at the amount of time spent debugging and the stability/lifetime/readability of the code never mind the quality of the tools available to debug it JavaScript, Python, PHP and all their unholy offspring should have been drowned at birth.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
-
Guirec Le Bars wrote:
you have to type
I often hear complaints about how much typing someone has to do. If you don't like typing, you shouldn't be a programmer. As to dynamic typing, while it's cool and fun, in the long run, the number of problems that I've had to fix that simply wouldn't be there in a strongly typed language all but eliminates for me the benefits. Not to mention that I wouldn't write anything that requires performance in a dynamic language, as these usually cannot be compiled into native assembly code but are either interpreted or are run in a VM. So I'll say it again, but this time metaphorically: If you don't like typing, you shouldn't be a programmer. Marc
Testers Wanted!
Latest Article: User Authentication on Ruby on Rails - the definitive how to
My BlogMarc Clifton wrote:
If you don't like typing, you shouldn't be a programmer.
I am a programmer cause I never liked repetitive tasks, I believe that typing .net/java code is highly repetitive... You might think differently: fair enough. But with all respect I am not judging what you should or should not be or do.
Marc Clifton wrote:
Not to mention that I wouldn't write anything that requires performance in a dynamic language
Many dynamic languages outperform statically typed languages... just have a go with LUA you should not be disappointed. And code is not all... the environment has a lot to do: run some compiled C# in IIS and compare performance with interpreted JS in node or run PHP within ligthy and you might end-up handling more than 3000 requests/sec http://redmine.lighttpd.net/projects/lighttpd/wiki/PoweredByLighttpd[^]... Drop me a note when you achieve the same with csharp :-D
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
-
Marc Clifton wrote:
If you don't like typing, you shouldn't be a programmer.
I am a programmer cause I never liked repetitive tasks, I believe that typing .net/java code is highly repetitive... You might think differently: fair enough. But with all respect I am not judging what you should or should not be or do.
Marc Clifton wrote:
Not to mention that I wouldn't write anything that requires performance in a dynamic language
Many dynamic languages outperform statically typed languages... just have a go with LUA you should not be disappointed. And code is not all... the environment has a lot to do: run some compiled C# in IIS and compare performance with interpreted JS in node or run PHP within ligthy and you might end-up handling more than 3000 requests/sec http://redmine.lighttpd.net/projects/lighttpd/wiki/PoweredByLighttpd[^]... Drop me a note when you achieve the same with csharp :-D
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
Guirec Le Bars wrote:
I believe that typing .net/java code is highly repetitive.
Well, typing itself is repetitive - 30 or so keys, over and over and over again! ;)
Guirec Le Bars wrote:
just have a go with LUA you should not be disappointed.
Interesting. If I can wrap my head around learning yet another language. I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment. ;)
Guirec Le Bars wrote:
Drop me a note when you achieve the same with csharp
Well, is that IIS or C#? (I am rather biased against IIS, I find it's configuration alone to be a total PITA.) Compare that to my only other experience, Rails - you just fire it up. It's so freakin' simple! Marc
Testers Wanted!
Latest Article: User Authentication on Ruby on Rails - the definitive how to
My Blog -
Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
I believe you mean static typing[^], not strong typing. Anyway, this is a controversial topic. I personally prefer static typing for anything bigger than a simple script, but there are people who strongly (and statically :D ) disagree.
-
My point is that experienced programmers don't use 'dynamically' typed languages unless they have to because experience teaches them that it's a bad idea. It doesn't seem like a bad idea at first because it's 'easy' but when you look back at the amount of time spent debugging and the stability/lifetime/readability of the code never mind the quality of the tools available to debug it JavaScript, Python, PHP and all their unholy offspring should have been drowned at birth.
"The secret of happiness is freedom, and the secret of freedom, courage." Thucydides (B.C. 460-400)
Matthew Faithfull wrote:
the stability/lifetime/readability
stability : hhmmmm... what's that? as soon as you change a line of code somewhere some sort of instability appears right? and if you don't change anything then dynamic is as stable as strongly typed... lifetime: with a new version of the .net framework every year which, each time, brings more syntactic sugar (anonymous delegate, initializers, linq, etc...) then the code written today is extremely different from the one wrote a few years ago. It seems to me that there is less of a trend/fashion style for dynamic languages devs. readability: once again this is related to your seniority level I think. It is pretty easy to write unredable code in .Net/Java.
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Guirec Le Bars wrote:
I believe that typing .net/java code is highly repetitive.
Well, typing itself is repetitive - 30 or so keys, over and over and over again! ;)
Guirec Le Bars wrote:
just have a go with LUA you should not be disappointed.
Interesting. If I can wrap my head around learning yet another language. I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment. ;)
Guirec Le Bars wrote:
Drop me a note when you achieve the same with csharp
Well, is that IIS or C#? (I am rather biased against IIS, I find it's configuration alone to be a total PITA.) Compare that to my only other experience, Rails - you just fire it up. It's so freakin' simple! Marc
Testers Wanted!
Latest Article: User Authentication on Ruby on Rails - the definitive how to
My BlogMarc Clifton wrote:
If I can wrap my head around learning yet another language.
no doubt you can...
Marc Clifton wrote:
I have a some very complex analysis algorithms that I think would make a great test case for measuring the performance of any language / environment
go ahead!
Marc Clifton wrote:
Well, is that IIS or C#?
Unfortunately both I guess...
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Strongly typing has one big advantage: it will force you to grow from a jerk to a proficient programmer. Yes, many programmers never get proficient but then strongly typing is not the cause :-) But here we are: when you are proficient in your domain of expertise (eg: embedded, gaming, LOB apps, multi-million users websites or whatever is your mod) then strongly typing is just a pain... It only multiplies by X (I am curious here... anyone? ) the number of reserved keywords you have to type to get to an equivalent result that you would get with a dynamic language. What do you guys think?
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
Well - for some odd reason the micro-rant remapped in my mind to the following: It's easier to "go" into your diaper than got to the bathroom facilities and taking care of your business with some grace. It may be easier to just do what you want wherever you want to do it but the downside irritations (coding or diapering) from the shortcuts are sure to catch up with you some day. There are some benefits within the price of growing up (?)
"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
-
Well - for some odd reason the micro-rant remapped in my mind to the following: It's easier to "go" into your diaper than got to the bathroom facilities and taking care of your business with some grace. It may be easier to just do what you want wherever you want to do it but the downside irritations (coding or diapering) from the shortcuts are sure to catch up with you some day. There are some benefits within the price of growing up (?)
"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
Man, I had to google 'diaper' to understand and finally get to the highly philosophical point of your post... You might be the wise man of the thread : maybe I am simply getting older and am unconsciously ccoming back to my youngest behaviours ;P Boobs, give me boobs!
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
-
Freak30 wrote:
The compiler will surely check them all.
I want one of these! Please let me know which compiler as you are using. A compiler which checks all code path is priceless!
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]
Guirec Le Bars wrote:
Please let me know which compiler as you are using.
It's called C#
The difficult we do right away... ...the impossible takes slightly longer.
-
Guirec Le Bars wrote:
Please let me know which compiler as you are using.
It's called C#
The difficult we do right away... ...the impossible takes slightly longer.
sorry, if that's a joke I did not get it... C# is the name for a language and your compiler is most probably csc.exe then. this compiler is far (far = 'years away' but that is not further than any other compiler I am aware of) from being able to analyse all possible code paths....
Seulement, dans certains cas, n'est-ce pas, on n'entend guère que ce qu'on désire entendre et ce qui vous arrange le mieux... [^] Joe never complained of anything but ever did his duty in his way of life, with a strong hand, a quiet tongue, and a gentle heart [^]