Sodium potassium calcium molybdenum which will have photoelectirc emiision
Answers
Answered by
5
I respectfully, but strongly disagree. And Python being as popular as it is doesn't make it any more suitable. I honestly think that the first programming language someone learns should encourage, if not compel to write in a functional programming style. Not only is a functional program often more readable than an equivalent program in imperative style (for example, compare the Haskell implementation of the Quicksort with the one in Python on rosettacode.org <https://rosettacode.org/wiki/Sorting_algorithms/Quicksort>), the functional style is very suitable for writing concurrent programs. Yes, Python is accessible and yes, it's everywhere, but I think it only allows you to grow up to a certain point as a developer. It does allow you to write in a functional style, but only up to a point (no enforced immutability, lambda's limited to a single expression), and this isn't general practice, so you're mostly trapped in the imperative paradigm. Also, I personally think that a strongly typed language is beneficial to beginner programmers, as the compiler will catch more errors at compile time.
Reply Vote up! 1

Paddy3118 on 25 Feb 2017
Functional, no chance! Python allows a multitude of programming styles, including functional. Rather than cherry picking a particular rosettacode task look at a selection of RC tasks, Python shines!
Reply Vote up! 1

bertvv on 27 Feb 2017
I admit that Python allows you to write in a functional style, but it's limited. Not being able to enforce immutability or write more complex lambda's, make it unsuitable for this paradigm in practice, I think.
Reply Vote up! 0

Dan the Man on 26 Feb 2017
Python follows the cumbersome paradigm of object-oriented programming, which is hard to explain to a beginner. A functional programming language is good for beginners, but professional developers will need to learn imperative langufages like C as well. Both Java and Python have types, but in Python and Ruby a variable has no type, being a mere pointer, although the value pointed to has a type. This allows Java to have overloaded functions that differ in the types of the arguments and return values.
Reply Vote up! 0

gerenatbay on 20 Jul 2017
python is a good start but in my opinion html would be better for beginners, but that is most likely because thats what I was taught.
Reply Vote up! 0

Michael Gebetsroither on 24 Feb 2017
I'd say golang. Because the language is small and even programs from beginners can be used in production easily. https://golang.org/
Reply Vote up! 0

Koisell on 24 Feb 2017
Pascal ;) (no joking). I must admit I thought that was a retarded idea (nobody use it in IT) but it's easier than C, closer from machine than in Python and you don't have to explain concepts like OOP (Java) or functional (Haskell). For a complete beginner this is a good language. Of course after a short while, going to a "true" language is better. Warning: I speak to learn programming for future IT workers. For programming enthusiast or learning programming in another formation: Python is for me a better choice.
Reply Vote up! 2

Peter Froehlich on 24 Feb 2017
Agree on Pascal. Or Oberon. Or if it really has to be "industry relevant" Go. I would have said Python a few years ago, alas after teaching it to beginners a few times I have to say that the lack of static checking is deadly. Maybe once mypy is really ready?
Reply Vote up! 3

Himanshu ks on 24 Feb 2017
QBASIC
Reply Vote up! 0

Nick on 24 Feb 2017
Go - it's simple, fast and very productive
Reply Vote up! 0

barrymundo on 24 Feb 2017
C and C++ should be separated into different options.
Reply Vote up! 2

Craig on 24 Feb 2017
I used to think Pascal, as it was designed for learning. But after spending decades coding in it (from Turbo Pascal, through to recent versions of Delphi) I no longer think so. Python is good, but I think the semantics and idioms of Ruby are similar, but more forgiving. Most importantly, the Ruby community is very welcoming
Reply Vote up! 1

Paddy3118 on 25 Feb 2017
Functional, no chance! Python allows a multitude of programming styles, including functional. Rather than cherry picking a particular rosettacode task look at a selection of RC tasks, Python shines!
Reply Vote up! 1

bertvv on 27 Feb 2017
I admit that Python allows you to write in a functional style, but it's limited. Not being able to enforce immutability or write more complex lambda's, make it unsuitable for this paradigm in practice, I think.
Reply Vote up! 0

Dan the Man on 26 Feb 2017
Python follows the cumbersome paradigm of object-oriented programming, which is hard to explain to a beginner. A functional programming language is good for beginners, but professional developers will need to learn imperative langufages like C as well. Both Java and Python have types, but in Python and Ruby a variable has no type, being a mere pointer, although the value pointed to has a type. This allows Java to have overloaded functions that differ in the types of the arguments and return values.
Reply Vote up! 0

gerenatbay on 20 Jul 2017
python is a good start but in my opinion html would be better for beginners, but that is most likely because thats what I was taught.
Reply Vote up! 0

Michael Gebetsroither on 24 Feb 2017
I'd say golang. Because the language is small and even programs from beginners can be used in production easily. https://golang.org/
Reply Vote up! 0

Koisell on 24 Feb 2017
Pascal ;) (no joking). I must admit I thought that was a retarded idea (nobody use it in IT) but it's easier than C, closer from machine than in Python and you don't have to explain concepts like OOP (Java) or functional (Haskell). For a complete beginner this is a good language. Of course after a short while, going to a "true" language is better. Warning: I speak to learn programming for future IT workers. For programming enthusiast or learning programming in another formation: Python is for me a better choice.
Reply Vote up! 2

Peter Froehlich on 24 Feb 2017
Agree on Pascal. Or Oberon. Or if it really has to be "industry relevant" Go. I would have said Python a few years ago, alas after teaching it to beginners a few times I have to say that the lack of static checking is deadly. Maybe once mypy is really ready?
Reply Vote up! 3

Himanshu ks on 24 Feb 2017
QBASIC
Reply Vote up! 0

Nick on 24 Feb 2017
Go - it's simple, fast and very productive
Reply Vote up! 0

barrymundo on 24 Feb 2017
C and C++ should be separated into different options.
Reply Vote up! 2

Craig on 24 Feb 2017
I used to think Pascal, as it was designed for learning. But after spending decades coding in it (from Turbo Pascal, through to recent versions of Delphi) I no longer think so. Python is good, but I think the semantics and idioms of Ruby are similar, but more forgiving. Most importantly, the Ruby community is very welcoming
Similar questions