In 101 cases, all the time obviously.
We are keeping tracks in how many times federal circuit cases are up holding software patents brought in light on Alice. So far almost no judge has upheld any software patents that has been challenged.
Quite frustrating, but it is not a *fault* of C++ IMHO, but rather a *feature* and part of its C origins and compatability legacy. The language is flexible and lets you do a wide variety of things and it is up to the dev shop to set its own coding standards.
In my experience in bigger shops with a large and well organized C++ code base have the experience and size of team that can afford to implement heavy/decent code review standards. It usually falls to the senior developers to guide other devs/maintainers through the a code review process to make sure code adheres to whatever makes sense to have as a sane/readable standard for the team.
What is readable for one shop will not always be the same for another.
On the extreme end, if you are big enough (project wise), and rich enough in talent/$$ to afford it, often different components of your system might be ported/migrated/implemented in a completely different language better suited to implement your features in a simpler easier to maintain way.
Hmm very very cool, fun stuff! How to save inexperienced coders (especially) or better coders (not at 100% on their off days) from themselves! Nightmare indeed when you do not have the code base hehe.I guess that's the frustrating part of this job. We sell our product as a complex static analyzer for C/C++. Which means catching stupid shit like using integers as characters and then passing a 0 to something expecting a pointer. And that something not guarding for NPDs, which is all fucking over the standard library.
So, this essentially means having test cases that is bad code to make sure our product catches it. Analyzing bad code to determine the correct behavior of a code base you don't work on(devs aren't testers herebut that's another tangent) is a nightmare. I'd really like to complain to my boss about it because it's an untenable situation. But I don't know how to fix it.
Ran across another "quirk". NULL resolves to three different things in C, C++98, and C++11. Fun times. Every time I'm forced back to C++, the more I wish I had more time to learn its quirks and the more I miss working in Python.
Java is the reason why 99% of the world's computing devices are vulnerable to attack. Fucking garbage language riddled with security flaws with a non-backwards compatible client. We have workstations running multiple POS Java versions just so we can manage the Ilo port on some old servers, as well as a few other apps.
Also *love* the fact that they obviously gave up on trying to secure the shitty language, and just made it so that you have to manually add every single program to an "allow" list in order for it to run, then to add insult to injury give you zero ways to gracefully configure this list of programs network wide.
Fuck Java. At least Adobe flash garbage is backwards compatible.
Hmm very very cool, fun stuff! How to save inexperienced coders (especially) or better coders (not at 100% on their off days) from themselves! Nightmare indeed when you do not have the code base hehe.
Hmm, gutt reflex says.... perhaps a functional language might be easier to do this (parsing stuff) conceptually as opposed to C++, but I have not asked my brain yet... Not usefull to you anyhow sincw you are already C++.
Nightmare testing.....unless..... It would be NICE for you to have a database of cases generated from many Clients code bases that have a good catalogue of bugs caught & fixed already by their code maintenance staff. They could feed you their bugs dumped from their defect database (esp Clearcase for example). Relatively easy to give, nicely sorted and categorized and only for the types of things your product addresses.
Do you guys have such IT Client partners, to feed you cases they already caught but would like to prevent with your tools in the future? Would be a great symbiotic relationship. I used to work on a large team doing fixes, maintenance and backporting (C/C++) on a large multi platform application. Such a partnership would have been of GREAT benefit for our company, and for quite a few of our projects there.
Would have made the build cycle even more painfull though hehe.
Null is just a terrible thing to begin with because by nature it is ambigous. Like I need to write some persistance layer and we use Jackson JSON mapping so the incoming request to me appears as POJO. But I can't seem to find a way to differentiate between absent null and "set it to null" null. So if you're sending an update request and you want to upsert in the database I can't actually resolve if you actually want this column to be set to null or if you just didn't supply anything and wish it to remain the same. I'm sure I could fuck with the Jackson stuff to make it work but that is pretty non-standard for all the other operations.
Optional is pretty much blanket better than allowing nulls into your method. If it is require it is non-Optional and if your method can handle life without this information make it a generic Optional. So much cleaner and easier to use. Also don't get me started on methods returning null and that meaning one of a thousand different things.
I only use null checks as last resorts, and if I'm at that point I fucked up.
What's your opinion Python's None? When I was programming in Java, I was still pretty fresh to programming, so null checking wasn't something I had much experience with. Just having trouble drawing analogues to your description.
From what perspective? I don't know who's using the function I'm writing. If write a function that requires a pointer, I'm not going to assume they won't pass in a null pointer. I can see bypassing null checks on internal-only class functions.
The way our code was always written was to just accept the pointer as is. If someone passes a null pointer then the BIOS would handle it like a regular pointer. If that caused a crash or hang or device failure then that was on them to debug. We didn't publicly hand out an API or anything, so perhaps that's part of my mentality.What's your opinion Python's None? When I was programming in Java, I was still pretty fresh to programming, so null checking wasn't something I had much experience with. Just having trouble drawing analogues to your description.
From what perspective? I don't know who's using the function I'm writing. If write a function that requires a pointer, I'm not going to assume they won't pass in a null pointer. I can see bypassing null checks on internal-only class functions.