Programming Leftovers

-
C++ versus Python solving one interesting problem from the field of number theory
The version of C++ code here differs from the first one been posted at Lxer.com . Vector "v1" been pushed back by 2D vector "vec" is supposed to be re-declared before every next push back by "vec" versus option of been cleaned up in previous version of compilation. I just believe that attempt to follow previous schema doesn't work properly as did it before due to pushing back the same variable "j" by vector "v1" in the loop preparing "v1" to be pushed by "vec".
-
Why are APIs so important? [Ed: Lawyers see APIs (application programming interfaces) as a lawsuit opportunity]
Lawyers are generally familiar with APIs (application programming interfaces). They’re sets of standardised requirements enabling data to be communicated efficiently between different pieces of software. At one end of the spectrum, an API is just a simple document that says if you follow these rules when you’re programming, your two pieces of software will be able to communicate. At the other end, they can be complex software development kits, software based routines, protocols and tools. There’s a wide range of things to consider and that’s an important concept to grasp.
Historically, the developer used an API to ensure that an application written for one computer would run on another using the same operating system. It’s really an efficiency tool to enable one bit of work to be reused many times. The application calls on the OS through the API to use the OS’s functions through data transmission, exchange and access. Contrast APIs with drivers, which enable communication between the OS and the hardware it sits on; and compilers, which translate programs from human readable (source) code to machine readable or executable (object) code.
-
What's the Biggest Software Package by Lines of Code?
For the average user of any piece of software (or hardware for that matter), the code going on behind the scenes probably rarely enters their thoughts. Even if you have just a little bit of coding experience in coding, you likely appreciate the work that goes into making even the simplest task possible.
When it comes to really complex pieces of software like operating systems, the amount of coding involved can seem overwhelming. In the world of coding, the size of some of these programs is downright mind-boggling.
-
What does the Open-Closed Principle mean for refactoring?
Both of these deal with volatility in software. When, as is always the case, you need to make some change to a software module, the ripple effects can be disastrous. The root cause of disastrous ripple effects is tight coupling, so the Open-Closed Principle and Protected Variation Pattern teach us how to properly decouple various modules, components, functions, and so forth.
Does the Open-Closed Principle preclude refactoring?
If a module (i.e., a named block of code) must remain closed to any modifications, does that mean you're not allowed to touch it once it gets deployed? And if yes, wouldn't that eliminate any possibility of refactoring?
Without the ability to refactor the code, you are forced to adopt the Finality Principle. This holds that rework is not allowed (why would stakeholders agree to pay you to work again on something they already paid for?) and you must carefully craft your code, because you will get only one chance to do it right. This is in total contradiction to the discipline of refactoring.
If you are allowed to extend the deployed code but not change it, are you doomed to swim forever in the waterfall rivers? Being given only one shot at doing anything is a recipe for disaster.
-

- Login or register to post comments
Printer-friendly version- 2585 reads
PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is released
After three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release.
|
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future Tech
The metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world.
Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility.
|
today's howtos
|








.svg_.png)
Content (where original) is available under CC-BY-SA, copyrighted by original author/s.

Recent comments
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago