3 ms·
As I said, by all means you can write bad code in good languages. I'm not saying choosing a good language excludes all possible bad code, only that they provide
by jpgvm 10y ago
As I said, by all means you can write bad code in good languages. I'm not saying choosing a good language excludes all possible bad code, only that they provide some guidance on better practices.
So you mention Java. Java enforces OOP. Now OOP may not be the best paradigm always, however its a vast improvement on inline procedural PHP.
That isn't to say you can't write some horribly modelled Java code, but the fact that modelling tools are so explicit and forced on the user makes the user at least think about how to use them better.
Other peoples opinion may differ from mine but I maintain this is incredibly important in speeding up new programmers towards writing good code.
- gcb0 10y agothe only difference would be the bad programmers would write a get _global_input_variable_enterprise_factory instead of using $_GET. this argument is pointless.
- SomeCallMeTim 10y agoIt rare that I see good Java code, especially that written by junior developers. I think OO is a hard concept to get right. I know it took me years to master, and one of my epiphanies about OO design is that it's not always appropriate. Yes I can tell you the best OO approach to a problem, but I can also often tell you a better approach that isn't OO.
- proyb2 10y agoFunctional and OO always go hand-in-hand. I love Swift Protocol, Generic and soon Reflection.
- mastazi 10y ago> by all means you can write bad code in good languages I think the main criticism of the GP was the fact that you use the expression "good languages" without defining what makes a language "good". > not be the best paradigm always same as above, what makes a paradigm "best"? > vast improvement on inline procedural PHP. but why you assume that the majority of PHP codebases are written in an "inline procedural" style? Do you have any evidence? Regarding the "procedural" part, the only large project that is not OOP-based is Wordpress, and even there spaghetti code (which I assume is what you mean by "inline") is AFAIK frowned upon by the community. > the fact that modelling tools are so explicit and forced on the user You need to accept the fact that many people may not like the "opinionated" nature of some language, (in fact that inflexibility that you mentioned is something I dislike about Java); often, a language may or may not be the right tool for a specific job precisely because of those opinionated bits.
- jpgvm 10y agoYou are missing the forest for the trees. The statement I made is that more consistent and "opinionated" languages encourage better code. They don't enforce it, just encourage it. It is my opinion that this is valuable. I did define "good", internally consistent languages with strong guidelines for developers. I made no statements about mature PHP codebases as they are irrelevant to my argument. I do accept that people prefer less "opinionated" languages, I too fall into this camp, but I am no longer a new developer, as such this point is entirely irrelevant to what I was saying. Nitpicking individual points whilst misconstruing what I said is neither useful or appreciated.
- mastazi 10y ago> Nitpicking individual points whilst misconstruing what I said is neither useful or appreciated. It wasn't my intention, I'm sorry if my comment came off as nit-picky. I wasn't trying to misconstrue your comment, I genuinely did not get your argument (I think I now get it, thanks to your reply).
- jpgvm 10y agoNo problem, I also wasn't as cordial as I could have been.