Comments by "Edward Cullen" (@edwardcullen1739) on "ThePrimeTime"
channel.
-
133
-
90
-
58
-
51
-
27
-
25
-
24
-
23
-
20
-
17
-
12
-
10
-
10
-
9
-
This author could have saved us all some time by saying "Good engineering is hard, time consuming and expensive."
Overall he contradicts himself. He says "DevOps bad", but then says you need people with skills in both areas. 👍🤦♂️
Here's the "secret" of DevOps: it's just good Systems Engineering. We just call it DevOps for the benefit of management types who don't know DNS from a runaway chain reaction.
So much of what he complains about, is a sign that there are architectural issues or that the system has outgrown the staffing levels.
Also, his advocating for "engineers should be able to do whatever the hell they like" is about the most retarded thing I've heard in a loooong time.
Holy sweet Jesus! Have you ever had to support a heterogeneous environment? Ever had to take one over?
Yes, you need to be using the most appropriate tools for a job, but what tools you have must be used consistently, so that others can unpick your mess when you leave.
Does this mean that larger organisations become more stiltified? YES, OF COURSE IT DOES, because that's the fucking DEFINITION of a "big business".
Frankly, this guy comes across as "just" a programmer (not least of all because of his "hobbyist" comment!!!), who doesn't like doing serious engineering.
I'm a serious professional, fuck-you-very-much. I'm not a "hobbyist". This shit is HARD and made harder by tools like this that refuse to accept that engineering is about compromise.
Further, devs who have "no interest in the platform" are, by definition, amateurs; F1 drivers know almost as much about the cars as the people that designed and built them. This is the attitude that software engineers need to have about platform.
8
-
8
-
8
-
7
-
@sqeaky8190 Here's a thought:
If it can (only) "pass" or "fail", it's a test. Otherwise, it's an evaluation.
If it's a test - binary - then computers can do that. If computers can do it, they can probably do it better (cheaper) than a human. If it's cheaper for a computer, then it should be done by a computer.
If your requirements are expressed correctly, they should be translatable to binary checks (does it do this?), which means they are testable. If it's testable, then is should be done by a computer - automated. Cucumber is a means of automating testing to requirements.
Cucumber didn't "co-opt" BDD, it is a necessary and logical conclusion of BDD. If Cucumber is bad, write a better tool, but don't dismiss the technique underlying it.
(I'm on the fence with Cucumber as a tool; haven't spent enough time exploring alternatives)
7
-
7
-
6
-
@samjohns8381 Design is not requirements.
Maybe TDD has evolved since Beck wrote his book? 🤔
The origins and evolution of a technique are not the issue at hand, the applicability to now is.
That said, the corpus of software engineering between the late 90s until the mid 2010s was heavily focused on optimising requirements elicitation, as this was seen as the greatest challenge in practical software delivery.
What you are describing is "how do I deal with a customer who doesn't know what they want?" which is both within the requirements elicitation space and Beck's key interests as an author.
I say again: separate the what your code is trying to achieve from how you are going to achieve it. By definition what is a requirement, how is design.
If you have the what, then your tests should remain consistent (you ARE testing at the interface, right???), which means you're then free to change the how any way you want.
API design is basically a solved problem, so major revisions shouldn't be necessary, if you've put the effort in up front. But designing your APIs right means understanding the problem, which implies having clear requirements... Which returns us to the beginning.
6
-
6
-
6
-
6
-
5
-
5
-
5
-
5
-
4
-
4
-
3
-
3
-
3
-
3
-
3
-
3
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
2
-
@andreipangi Opinions can be objectively wrong. You can have the opinion that Pi is 3, which would be wrong.
This is another example.
Again, it's not the C language that is the "protocol", it's the C function call interface and the syscall interface. As this varies by OS and C implementation, your assertion that other languages/runtimes would be "wrong" to implement their own syscall interface(s) is simply a demonstration of your lack of understanding of the subject.
Your assertion that it would "add a lot of bugs" is the silliest argument - all software is buggy, therefore, never write anything new, because it will have bugs. 🤦♂️
Breaking assumptions is precisely the point - people want to be able to write "pure Rust", rather than having to "switch to C".
Inter-code communication is precisely the issue and the desire to not have to do it. Again, this is all showing confusion about the topic and a general lack of understanding of what the real problems are.
C is a language specification that gives broad latitude to implementors to make their own decisions, based on their needs and the needs of the OS and hardware they're running on.
Failing to understand the distinction between the C language specification, a particular C implementation and the OS syscall interface (which can be accessed directly using assembly language), is the problem the OP has.
2
-
2