Programming paradigms
Jul 24, 2024
in •
ADA
•
C
•
C LANGUAGE
•
C++
•
FORTRAN
•
HASKELL
•
PASCAL
•
PROLOG
programming
pascal
fortran
c
c++
ada
haskell
prolog
language
programmer
languages
difficulties
paradigms
3 min read
Psychology of Programming: It has long been known that a programmer’s professionalism directly depends on the number of different programming paradigms they master—not just having heard of them and knowing about them, but being able to actually use them in their work.
Every programmer starts with some one language. This language has an the predominant influence on how a programmer sees software. But no matter how long a programmer has worked with this language, if they only work with it, they will only know this language. The thinking of a programmer who knows only one language is limited to the capabilities of that language.
A programmer learning a second language will encounter difficulties, especially if the computational model of the second language differs from the first.
...
➦ Do not touch this code
Jul 23, 2024
development
server
testing
code
team
3 min read
Each of us has had something like this happen at some point. Your code has been uploaded to the staging server for system testing, and the department head Testing informs you that there is a problem. You are immediately ready to respond: “Let me quickly fix everything: I know what the issue is.”
However, in a broader sense, the problem is that you, as a developer, believe you should be granted access to the server where testing is being conducted.
In most cases, when it comes to web development, the architecture can be broken down into the following parts:
-Local development and unit testing on the developer’s machine
Development server where automated or manual integration testing is conducted Staging server, where the quality control team and users conduct acceptance testing Combat (production) server Yes, there are other servers and services, for example, for managing source code or software defects, but the idea is clear.
...
➦ Know how to use command line utilities
Jul 22, 2024
microsoft
eclipse
gui
ide
tools
command-line
use
line
3 min read
Today, many software development tools are delivered as integrated development environments (IDEs). Besides the two popular examples – Visual Studio from Microsoft and Eclipse from the open-source community – there are many others. A lot can be said in favor of IDEs. They are easy to use and they free the programmer from the need to delve into many minor details, including the build process.
However, ease of use has its downside. A tool is usually easy to use when it makes decisions for the programmer and automatically does a large amount of work behind the scenes. Therefore, if you only use an IDE as your programming environment, it is quite possible that you will never fully understand what your tools are actually doing.
...
➦ Know that you will save it in the repository
Jul 21, 2024
code
repository
work
changes
task
3 min read
I patted three programmers on the shoulder and asked what they were working on. “I’m refactoring these methods,” was the first one’s reply. “I’m adding some parameters to this web operation,” said the second. The third one said, “I’m working on this use case.”
It may seem that the first two were absorbed in the details of their work, and only the third saw the bigger picture, and his approach was better. I asked when and what they were going to put in the repository, and then the picture changed dramatically. The first two clearly understood what files they would be, and were going to finish the work in about an hour. The third said, “I suppose I’ll finish in a few days. I’ll probably add some classes and somehow modify the services.
...
➦ The true meaning of the clients requirements
Jul 20, 2024
in •
HILLAKER
harry hillaker
falcon
air force
agile manifesto
collaboration
requirements
aircraft
client
business
speed
3 min read
In general, what is business analytics? If we break down this phrase word by word, it is the analysis of business requirements. It is not design, it is not programming, it is specifically the analysis of requirements. The main task is to help the client understand what they actually need. However, clients and end users often present what they think are effective solutions to a problem as requirements. In other words, they believe they have already found all the solutions and want them implemented. The effectiveness of this is quite questionable, as it leads to project overload with requirements, which often contradict each other, and significantly increases its cost. In exceptional cases, the project becomes completely unfeasible.
A classic example of this kind is provided by Harry Hillaker, the chief designer of the F-16 Falcon fighter jet.
...
➦ Durability of temporary solutions
Jul 13, 2024
first
change
solution
solutions
standards
problem
3 min read
Why do we create temporary solutions?
Usually, the culprit is an urgent task. Sometimes, it’s an internal task for developers—to create a missing tool for the development chain. Other times, the task is external, user-oriented, such as a workaround to compensate for missing functionality.
In most systems and teams, you can find a module that somehow stands out in the system. It is considered a draft version, and it will need to be redone later because it does not meet the standards and rules that the rest of the code lives by. You will definitely have to hear developers’ complaints about this. The reasons for the appearance of such code can vary, but the main reason for the emergence of intermediate solutions is their usefulness.
...
➦ Take responsibility for your build and its refactoring
Jul 08, 2024
code
study
process
assembly
scripts
application
3 min read
It is not so rare for teams, which generally discipline themselves to follow good coding practices, to treat build scripts with disdain. They are considered either insignificant or so complex that only a sect of release engineers can maintain them. If build scripts are difficult to maintain, contain duplication and errors, it leads to problems of the same scale as poorly designed code.
Why do responsible and competent developers consider project assembly to be a somewhat secondary task? One explanation is that assembly scripts are often written in a different language than the source code. Another is that assembly scripts are not considered “code.” Such explanations are contradictory, as most developers are eager to learn new languages, and it is the assembly process that produces executable modules which developers and end users will test and run.
...
➦ Install me
Jul 07, 2024
in •
CANADA
•
NORTH AMERICAN
ip
canada
immediate
world
program
file
problems
textbook
product
3 min read
I am not at all interested in your program.
I have plenty of my own problems and a long list of tasks. I only visited your site because of unverified rumors that your program would solve all my problems. Please forgive my skepticism.
If eye-tracking studies are correct, I’ve already read the headline and am scrolling through the page looking for the blue underlined link Download Now. By the way, if I accessed this page from a browser running on Linux and my IP is from Canada, it can be assumed that I need the Linux version from a North American mirror, so please don’t ask about that. I understand that the file download dialog will open immediately, so I’ll send this thing to my downloads folder and continue reading.
...
➦ Use quantitative criteria
Jul 05, 2024
ms.
system
criteria
time
work
users
3 min read
“Fast” cannot be a requirement. Nor can “having a good response time.” Or, let’s say, “scalable.” The main reason is the lack of objective criteria for meeting such requirements. But users still need these characteristics. The architect’s task is to ensure that the system possesses the necessary qualities and to balance the inevitable contradictions that arise. between them. Without objective criteria, the architect depends on whims the client (“No, I can’t accept the program – it doesn’t work fast enough”) and the developers, obsessed with their compulsions (“No, the program isn’t ready yet – it doesn’t work fast enough”).
Usually, we try to record all such requests, just like any other requirements. But this record often looks like a set of vague epithets: “flexible,” “easy to accompany,” and so on.
...
➦ Do not rely on miracles
Jun 27, 2024
in •
COBOL
grace hopper
cobol
dll
magic
work
project
need
programmers
3 min read
If you look at any activity, process, or discipline with sufficient long distance, everything seems simple. Managers who have no experience software development, believe that the work of a programmer is simple, and programmers who have no management experience feel the same way about the work of a manager.
Programming is a certain activity that some people spend some of their time on. And the most difficult part of the work—the thought process—is the least noticeable and the least appreciated by the uninitiated. For decades, attempts have been made to eliminate the need for skilled thinking personnel. One of the earliest and most memorable attempts was Grace Hopper’s efforts to make programming languages less mysterious. Thanks to this, as some predicted, the need for narrowly specialized programmers may disappear.
...
➦