| bio | website | apokalypsesoftware.com |
|---|---|---|
| location | Crawfordville, FL | |
| age | 49 | |
| visits | member for | 2 years, 7 months |
| seen | 2 days ago | |
| stats | profile views | 64 |
Seer. Founder/Pres, Apokalypse Software Corp., Publisher of Productivity Software.
|
2d |
comment |
Are there any unions for software developers? You are entirely incorrect in your assertion that there are no professional associations for doctors, lawyers and engineers. In the USA there is the American Medical Association, the American Bar Association and the IEEE. Architects, accountants, and even beauticians also have their "unions". In addition to the professional code of ethics David Thornley pointed out, they define standards of practice (methodologies), conduct studies and research for the field, and even lobby lawmakers for their professions. They also are prohibited from setting wages. |
|
Jul 1 |
comment |
How to REALLY start thinking in terms of objects? @dsimcha, algorithms shouldn't be dependent on the data type. That's the point behind OOD. The numerics framework sends messages that describe the desired (in this case understood) behavior of mathematical functions. The type will determine how to interpret that message in a way appropriate for the data. Contrary to @Kamil's comment, OO actually decouples behavior (interfaces actually) and data whereas procedural code is dependent on them. OOD reduces dependency on what the data is, focusing instead on what your procedures need to do. |
|
Jul 1 |
comment |
At what point do immutable classes become a burden? luis, have you noticed how the well-written, pragmatically correct answers written with an explanation of simple yet sound engineering principles tend not to get as many votes as those using state-of-the-art coding fads? This is a great, great answer. |
|
Jun 8 |
comment |
How do you get better working conditions? I'm a business owner and software process management practitioner. That's hardly considered qualification to be a union flunkie. Boeing's management problems and scandals are well known in the industry and used as business cases for management schools. Your veneration of Boeing might not permit you to weigh their management practices objectively, let alone pay attention to the scandals. Regardless of the depth of your experience in software development, this question and my answer needs expertise in management & labor relations which you obviously lack. |
|
Jun 8 |
comment |
How do you get better working conditions? You're unfamiliar with labor practices generally, in sports and other professional associations in particular, and managing companies. You don't know what you're talking about. Baseball players don't work as their own companies. They are unionized. As are basketball and football players. Your examples are not universally applicable no matter how much you claim them to be. Boeing suffers major financial losses due to poor management. Get the facts, because you're seriously out of touch. |
|
Jun 5 |
comment |
How do you get better working conditions? You give one negative industry example to counter my three positives and that's supposed to be the definitive answer? That's ridiculous. Here are three more examples of professionals with established associations which improve their industries' workplaces: accountants, athletes, Disney character performers. |
|
Jun 3 |
comment |
How do you get better working conditions? Professional occupations that employ collective bargaining strategically actually improve the quality of the work and the workplace. The American Institute of Architects, the American Medical Association, the American Society of Mechanical Engineers, to name a few. However, given the anti-social nature of programmers who are overwhelmed when dealing with strangers and avoid large organizations because of the politics involved and the realization they're not as intelligent when up against professionals, it's no wonder the most-effective route to better working conditions is the least popular. |
|
Apr 13 |
comment |
What's your strongest opinion against functional programming? There's no requirement that a language's runtime system lack transparent memory management (with garbage collection) in order to fit the "procedural" label, so it's ironic you phrased your second sentence that way. BASIC is one such language. |
|
Mar 18 |
comment |
Code Smell: Inheritance Abuse @flamingpenguin, I have done so. |
|
Mar 5 |
comment |
Dealing with inflexible programmers Please use the book's title in the link instead of "this book". It's one less step for those who readers to decide whether to click or not. Especially those who've previously read it. |
|
Feb 24 |
comment |
Advantages of object-oriented programming Except the OP didn't ask about functional programming, so your comment lacks merit. Particularly so since my answer is the one accepted. |
|
Jan 11 |
comment |
Is it common to print out code on paper? You did DOS programming on a crt console? We had punch cards. The 80 character limit was a result of the punch cards. Being able to study code over 3 or 4 pages at once is pretty handy. I guess that's why I still prefer print-outs. It's easier to navigate amongst related functions. |
|
Jan 8 |
comment |
KPI's for Programmers @Paul, engineering is a disciplined approach to building systems. Patterns for structuring the system such as layering, nesting, dependency injection, etc. were defined specifically to prevent the system and its components from becoming complex, let alone that complex. Further, while the sequence of network communication might be random to a member of that system, its state should never be. One might experience "random" events traveling from home to work, but it isn't okay to end up elsewhere or late. How is it okay for a finite -state machine to be in an unknown or inconsistent state? |
|
Jan 8 |
comment |
KPI's for Programmers @Paul, the system cannot be random. It's why even random number generators are difficult and such an intense field of study. What is required is for process states to be well-defined and respected and for control flow between processes to be strictly contained in order to prevent them to be in an unexpected state. There is no randomness in the system. It is the product of prior computations. |
|
Jan 7 |
comment |
KPI's for Programmers You've got a great start to answering your own question here: a measure of solving the business requirements. So how do you go from defining the requirements to running a system that meets those requirements? |
|
Jan 7 |
comment |
KPI's for Programmers Programmers are Michelangelos? Really? Our work is judged primarily on an aesthetic basis, and not for its performance by a logical calculating machine? In fact our work should be calculating machines: finite-state machines which are nested to varying degrees to produce work in a deterministic order. It is on that basis that KPIs should be determined: how decoupled your FSMs are, and how well integrated they still are to produce the desired work. Craftsmanship is a silly romanticization to justify a lack of engineering discipline. |
|
Jan 6 |
comment |
What non-programming books should a programmer read to help develop programming/thinking skills? Actually, two of the book's authors, Max Jacobson and Murray Silverstein, worked with Christopher Alexander (and others) to assemble those patterns. But again, while APL focused on the patterns to be implemented in a residential structure, this book focuses on patterns for designing/judging a well-designed home. It gives remarkable insight into determining how to design a software system well, or if it was designed so. |
|
Jan 6 |
comment |
KPI's for Programmers @CraigTP - and payment usually comes after the fact as well. Shouldn't there be some metrics to determine whether you were paid fairly and the client got value for the work done? Just as there should be metrics to determine what parts of a codebase are unsound and need of repair before new features are added so it can be determined what developers have been doing with their time or if repairs are warranted or the code should be replaced. Most of the fears expressed here are that metrics will be misused, but if we fail to define proper metrics bad ones are all we'll get. |
|
Dec 30 |
comment |
How common are “bandage” fixes? Your definition for band-aid is incorrect. The term doesn't mean "unknown flaws", but "the fix is unsightly". Guard clauses are certainly applicable in that case because they 1) invert the direction of the logic by redirecting outwards rather than narrowing the conditions under which the state-machine progresses and 2) make it harder to extend the state-machine because guard clauses inside nested state-machines introduce alternate flows which must be tracked (like gotos) rather than also nesting their states. Guard clauses also indicate the upstream logic is too coarsely grained. |
|
Nov 30 |
comment |
Should one use pseudocode before actual coding? @Michael, flowcharts are fine for thinking through processes at three different design stages: 1) use cases of how the user and execution environment interact with the processes (ignoring internal mechanics); 2) the internal mechanics of how the processes function; and 3) the process used to develop the software solution. However, because flowcharts provide procedural semantics (eg, conditionals), it's too easy for designers to expose low-level details into the design too early. For that reason I prefer starting with post-it flags, then state diagrams, during analysis & design. |