|
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
|
|
|
|
|
jeron1 wrote: I disagree, I think the powers that be will certainly make the wrong decision(s),
"Will"?
War is when politicians fail at their job.
|
|
|
|
|
Darn myself for being too optimistic again.dandy72 wrote: War is when politicians fail at their job. This seems more like it.
"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
|
|
|
|
|
Gentleman, this wasn't meant to be a thread on the political situation. I merely wish to express my own thoughts of compassion and concern for all those affected by all of this.
|
|
|
|
|
If you have to make a warning about your post not being political, then you probably should realize that your post is political, whether you want it to be or not.
|
|
|
|
|
So this was an actual conversation during a meeting yesterday.
Person A is not technical, person B is somewhat technical.
Person A: "The new API could return an ID so we can always find the file using that ID."
Person B: "Yeah, maybe we can use a GUID for that, so we're sure the ID is unique."
Me: "Yes, and if a GUID isn't good enough, we can always switch to a UUID!"
Person B: "What's a UUID?"
Me: "Universal, in case globally isn't unique enough."
This made person A and B all enthusiastic
I'm not sure why we don't just use an incremental int, but sure, a GUID/UUID it is
I may even charge the big bucks to convert GUID to UUID, or maybe I'll just say it's a lot of work, but they're getting a good discount and I'll work the weekend so they'll have it by Monday
|
|
|
|
|
Carefull - if they hear about the Metaverse you may have some real work on your hands!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
A MUID!?
Maybe I'll need to create an IUID interface and make implementations for the GUID and UUID and make them interchangeable and then I'll be able to add a MUID later, just in case.
My architecture is going to be awesome!
|
|
|
|
|
And priced accordingly, I hope!
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
GUIDs will roll over in 3072 or something like that.
One time when the power went out at the Microsoft building I worked in due to a construction mishap, I ran through the halls yelling that guids had rolled over and we were all doomed.
I got away with a lot.
To err is human. Fortune favors the monsters.
|
|
|
|
|
I wonder how a construction mishap could end up with you working at Microsoft
I actually had an issue like that once.
A service I wrote used an incremental int as ID.
It probably generated a couple of 100 records a day, so an int would be large enough for the coming 14000 years at least.
So the service worked well for a couple of months and then it started stuttering...
Lots of calls would fail, but then a few would succeed and then it went well for a couple of days and then a batch of 100 failed again...
It drove me mad, couldn't reproduce it in development, the failed messages were nothing out of the ordinary, a failed message could succeed a second time...
And after weeks, maybe months, of searching, I finally found it!
I don't remember why, but the auto-increment ID field rolled over to 1!
It either used up all of its IDs due to a bug, or someone manually entered a really high ID and the auto-increment took it from there...
The reason it sometimes worked is because a lot of IDs were missing, probably because I had to test a lot on production and I deleted those records.
I'm pretty sure I was to blame, but I'd never thought about looking at a problem I did not expect to happen for the coming 14000 years.
Found it on accident, but was able to fix it soon after that
|
|
|
|
|
Powered up control panel, powered up - one at a time tool controllers and set IP addresses ( they come set to 192.168.0.4 ) powered up 4 at once. NO communication. Spent hours - bad switch? funky cables? ??? finally found 4 or 5 of them still had the chip default MAC address.
Wanna know how to really confuse a switch? Had to go buy a null modem cable to program the right MACs.
Globally unique id fail.
|
|
|
|
|
Just use a sequential ID and convert it into a GUID with an 8 character hex representation of the ID and the rest random stuff.
Or:
Quote: There a 5 versions of GUIDs defined in RFC 4122, each with different properties.
Ask them to pick a version and take a vacation for a week while they argue it out.
|
|
|
|
|
Use the sequential id as a seed for a RNG, and pick n values from there as the UID?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Meh, get a 128-bit hash of the sequential ID.
|
|
|
|
|
Marc Clifton wrote: Ask them to pick a version Or better yet, pick a version myself and see how all the managers disagree and want me to use another one of their uninformed choosing
|
|
|
|
|
I have to maintain a dedicated microservice that just makes guids. What type? Oh "the most random type!"
string s4() {
return random.Int.ToString(16)[0];
}
string newGuid() {
return s4() + s4() + s4() + s4() + s4() + s4() + s4() + "-"
+ s4() + s4() + s4() + s4() + "-"
+ s4() + s4() + s4() + s4() + "-"
+ s4() + s4() + s4() + s4() + s4() + s4() + s4();
}
Why? Because "this is the only method our security scanner accepts so it must be the best"
|
|
|
|
|
One of the reasons we stopped using SQL Server years ago was that our database that uses GUID's as Primary Keys got too slow.
Nowadays there is a solution, see: NEWSEQUENTIALID (Transact-SQL) - SQL Server | Microsoft Docs[^]
We have switched to PostgreSQL however, and are very pleased with the performance and ease of installation.
|
|
|
|