|
Goto is an issue. Option Explicit is the programmer telling you how they're handling variables.
|
|
|
|
|
|
Would you rather see an option explicit or wonder what the result of
var sum = "6" + 6
is?
Option explicit prevents the confusion.
|
|
|
|
|
|
You do understand that Python was named in honour of "Monty Python's Flying Circus" (where chaos and madness were the norm)?
|
|
|
|
|
Albatross!
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
That's what I keep telling people, especially when I see the logo of 2 intertwined snakes.
What's faster: the speed of light or the speed of dark?
|
|
|
|
|
den2k88 wrote: I think that a language like Python...is 10 times harder than C++. I tried it for a few weeks but found it extremely hard to understand. I'll stick with C++ and Java.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
There are some slightly weird things you need to get your head round. Once you 'get' those things it really is quite an easy language to use.
|
|
|
|
|
It's quirky. As I'm more and more convinced, it's VisualBasic all over again (they do share birth year, by the way). It's useful to automate random stuff, it's single thread, it has a strong support for binary calling and a nice quick graphic interface whose logic is 1:1 that of Windows.
In my company we will probably start using Python for automated testing and data analysis so we will need to learn it; I do find myself in need of a quick GUI to link to my Serial / MODBUS / LIN libraries to prod and test our products; we also have a self improvement program that makes us choose courses to follow during the year.
Given all of the above, the decent multiplatformity (is that even a word?) of Python and its ubiquity it makes for me a good choice.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Once you realize that objects are just dictionaries, and everything is an object, it all makes a lot more sense, but one does have to understand that there is a difference between an object's dictionary and an object's instance dictionary.
|
|
|
|
|
That's the big gotcha indeed, it takes a while. Also scopes are dictionaries, everything is public, every line of code is executed, every method is static... and an object.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
Remember when people complained about C, so someone came up with lint?
Guess what?
pylint.org ๐
|
|
|
|
|
Lint... the only tool that can take a perfectly readable piece of code and make a total mess out of it. I wonder what damages it can do with Python.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
|
I think what you're looking for are __slots__
class Empty:
__slots__ = ('completelyNewAttribute',)
Empty.completelyNewAttribute = "seriously?"
obj = Empty()
obj.randomTypo = 10
|
|
|
|
|
Thank you!
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
No! It is about the right tool for the job.I love C++, Java, SQL and Python but all of them require different ways of thinking and is for solving different problems. If you approach Python like C++ it will frustrate you to no end.
However, for the right problem Python is an absolute blast to use! If you need to get something done quickly, with lots of uncertainty and you have the opportunity to iterate Python is amazing. I love it when you can work with an interface/dataset which you only need a small portion of and you don't have to define and type the stuff you are not interested (which happens a LOT in the data world). Of course lots of people hate that uncertainty and would love for everything they work with to be 100% defined, but defining something 100% of which you only use 10% is literally a waste of time.
Of course that depends on context. If you deal with transactional banking you want everything defined 100% and I will stick to Java/C++. If you are trying to extract value from an enterprise data lake quickly where you don't know all the data, will have no opportunity to know all the data then using Python for ML and other purposes is awesome.
|
|
|
|
|
Of course. I loved VB6 for its intended use and it had the following nigthmares
Option Base 1
Option Compare Text
Option Explicit
On Error Resume Next
Dim variable as Variant
I know where it comes from and what it is meant to do, I think it is awesome with its extensive standard library. I need it to automate stuff and talk to libraries while showing a minimal UI for expert users. So, the same as VB but portable and still maintained.
GCS d--(d-) s-/++ a C++++ U+++ P- L+@ E-- W++ N+ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++* Weapons extension: ma- k++ F+2 X
|
|
|
|
|
These days it feels like C# has taken one look at Python and said to the guy next to him: "hold my beer..."
cheers
Chris Maunder
|
|
|
|
|
Nahh, that is the fun stuff. When I was doing my first foray into this language I just could not stop giggling, since I could almost imagine Pinky and Brain kinda talking about adding this feature here, that feature over there and how coooool would it be to have feature in their language like that.
Anyway, python is great for prototyping AI algos and building\training models. I also heard that web guys do it with quality.But since I use it for my diploma with AI stuff in it, I only saw how well you can use it to build AI stuff with it.
|
|
|
|
|
This is not intended as a political statement.
With the fighting that has broken out in Ukraine, my hope that all of you in that part of the world are safe...
|
|
|
|
|
I think all right minded people would agree.
|
|
|
|
|
I have an overwhelming sense of sadness today.
|
|
|
|
|
I disagree, I think the powers that be will certainly make the wrong decision(s), call me a cynical...
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
|
|
|
|