|
I am sorry but patterns are extremely important. Everything must be a pattern.
For instance, if you do not use repository pattern, you are horrible at writing data access. While we are at it, as developer you make sure that your code can seamlessly work with at least MSSQL, MySQL, Oracle, MongoDB, that one little file as DB on the RaspberryPI device and of course flying broom. Never miss the flying broom.
I am not serious. Or am I?
"It is easy to decipher extraterrestrial signals after deciphering Javascript and VB6 themselves.", ISanti[ ^]
|
|
|
|
|
Around 1982 we obtained a very early C++ compiler (not yet released) that compiled to plain C, which could be used as input to any K&R C compiler to generate binary code. As senior students, we eagerly read this intermediate C code to see how subclasses and inheritance and abstract classes and initializers and whaterver other OO concept was implemented.
At summer time, I was an intern with a company making both computers and software for it, and I got insight in a fullscale, commercial OS, written in a low level language (more or less a set of macros on top of the assembly language) in the early 1970s. To my surprise I found lots of source code in the OS that very much resembled the C code created by the C++ compiler. Lots of OO concepts had been realized by hand coding in a near-assembly language. When I pointed this out to the OS developers, they gave me a blank stare: OO was a completely unknown concept to them. They had all the good reasons for coding it the way they did, using the same arguments as the OO guys, in a somewhat different vocabulary. So I learned that OO concepts came neither with C++, Simula or Smalltalk - they just formalized a language syntax for concepts that had been in use for years.
Patters are similar. I met them after a number of years as a software developer, and my reaction was "Yes? Sure that is good way of structuring the code; we have always done it that way..." Of course there were rule thumpers who where nitpicking some details that diverged from some academic description of a given pattern. In a couple of cases, the details could easily be adjusted to make those guys happy; it never changed the real pattern.
Just like the OS guys did OO programming without knowing it, lots of developers use code patterns "by instinct", without ever looking up its index in some academic dissertation. They use it without being tied on hands and feet to a set of academic absolutes, but adapt the basic principles to a real world production environment. Which is how it ought to be, in my opinion.
|
|
|
|
|
Nice Story...
It reflects my own experience. After some years of Basic, Pascal, C Programming I started to read GOF and about patterns. I realized that I "found" a lot of them for myself while I was coding.
So code with no standard patterns seems not possible to me. You use them - even if you don't know... And there aren't that many you will use every day.
So for the developers in my team I have a simple rule: If you are aware of a pattern - Name the Code/variable/function etc. accordingly. It's great for communication between developers.
-> Don't: Here is my creator for the Storages...
-> Do: Here is my factory for the repositories...
|
|
|
|
|
My experience with both object oriented programming and design patterns mirrors yours, and probably nearly every one of our colleagues who started in the 1970's. Along those same lines, I was once asked to fix a program that had been written by a brand new graduate, so new that the ink wasn't dry on his Computer Science diploma. It was modularized, as was the fashion of the day, in the extreme. If even a single statement appeared in two or more places in the program, it was implemented as a function. After studying it for a few hours, I scrapped the entire program, and rewrote it from scratch. With a total expenditure of about two days, I had a completely rewritten, tested replacement for the program. While it was modular, it wasn't slavishly so; there were places here and there where the same statement appeared in two or more places. So what? In the grand scheme of things, that might have made toe object code a hundred bytes bigger, which didn't matter, even then, when we measured programs' memory consumption in kilobytes.
David A. Gray
Delivering Solutions for the Ages, One Problem at a Time
Interpreting the Fundamental Principle of Tabular Reporting
|
|
|
|
|
In my opinion, there are some who have danced around the concept of patterns and some who have missed it entirely. Patterns, be it concepts from the Gang of Four or from Martin Fowler, are by their very nature language agnostic. I saw mention of compensation for problems with Java and lots of focus on specific languages in the comments, but that wasn't ever the intent of Patterns. Patterns are there to make tasks that are repeated, code heavy and reusable to be easier and somewhat normalized, that is pretty much it.
I think the most important comment I saw mentioned KISS. That is the biggest key concept when dealing with Patterns to me. If you are building a basic application and adding hundreds of lines of code to use a Pattern when you need 5 lines, that isn't what a Pattern is meant to do. However, if you are building an application that is data heavy and needs lots of database interactions, there are many patterns that can make this easier and quicker to code than not. Some of using Patterns is opinion, some of it is knowledge. I know from when I was starting out, I didn't use a lot of them and mostly avoided them. I find I use them more so now but I use them only as the situation really needs it. I often find that I will use a Pattern when other developers don't/won't/can't as well. They are not easy to implement all the time and experience is often needed to make them work well. Definitely my opinion but they can be worth it if used right.
|
|
|
|
|
I would just have an "adapter" (class) for that.
Plug and play; like most everything else in the world.
"(I) am amazed to see myself here rather than there ... now rather than then".
― Blaise Pascal
|
|
|
|
|
Oh brother! Are Google’s search engine or Facebook’s social network really "essential facilities"? Can we not get the same search abilities with Bing or other search engines? Doesn't Twitter offer a social network? Doesn't Google offer a social network?
Yes, there is competition, but Google search engine or Facebook’s social network are not the only game in town. Since users prefer Google's search engine and Facebook’s social network, does not make them monopolies. These EU officials need to get their noses out of their ivory towers and look around. Expand their minds and research alternatives. What this article is showing us is that the EU will not let their people choose how to search or to network. If Google and Facebook are preferred, so be it. At least Google and Facebook are not charging us, their users, for their services. We may have to endure some adds, but that's no big deal breaker.
|
|
|
|
|
Agree. More critical I think is wiki, no real alternative available
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
James Lonero wrote: At least Google and Facebook are not charging us, their users, for their services.
As (I forget who) said:
Quote: If you are not paying for it, you're not the customer; you're the product being sold
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
OriginalGriff wrote: As (I forget who) said:
Quote: If you are not paying for it, you're not the customer; you're the product being sold
It's amazing how many people don't grasp this idea.
|
|
|
|
|
And it's even more amazing that companies like Apple or Mickeysoft try to herd their customers into walled gardens and once they are locked in, they treat them just as if they were not customers.
They want to collect data as they please, for whatever purposes. They use the user's resources, like download volume, power or the computer itself, when and as much as they please. They generally want to install stuff as they please and don't care if someone actually wants it or not. As a bonus, they remove some things you actually liked or used or introduce some new bugs, ranging from annoying to show stopping). They tell their users when they may actually use what they paid for or when it's time to hop through some more activation / confirmation/ lizensing hoops.
You have to be a great masochist to be happy with that kind of service. Paying for something does not really help, as it seems.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
This topic is better suited to the Soapbox. As you have mentioned a political entity (the EU), you can guarantee that this topic is going to get political at some point.
This space for rent
|
|
|
|
|
We survived fine without them for millennia, so no, none of it is essential.
|
|
|
|
|
We survived for centuries without Smallpox vaccine as well, so no, it's not really essential, but very, very beneficial to have.
|
|
|
|
|
Given the choice between Smallpox vaccine and Facebook...
|
|
|
|
|
I was interested in couple of interesting jobs at Amazon (developing Alexa's Engine for one) and what I've heard reviews from interns or employees that Amazon's culture doesn't really support work-life balance. I was skeptical until this article about an interview with Jeff. Wow! I work hard, but I'm not about to give my soul too.
What's to you about WLB?
|
|
|
|
|
All work and no play makes Jack a dull boy.
|
|
|
|
|
That's a Shining remark
|
|
|
|
|
I work to live. I do NOT live to work!
I'm pretty sure I would not like to live in a world in which I would never be offended.
I am absolutely certain I don't want to live in a world in which you would never be offended.
Freedom doesn't mean the absence of things you don't like.
Dave
|
|
|
|
|
Work: It is about 8 to 10 hour per day therefore a bigger part. I try to live also during work hours. Means I do the best to find a Job which I really like and can be a part of my live
It does not solve my Problem, but it answers my question
modified 19-Jan-21 21:04pm.
|
|
|
|
|
I agree. Get the best, most interesting work possible so that you don't spend most of your life doing something that you don't want to do.
Of course, it is not always possible.
I wish you could really get paid for the intersection of :
* what you're best at
* what you love doing
The more you can make your day intersect with both of those, the happier you are.
|
|
|
|
|
|
I happen to love what I do for a living (building software) and happen to really like the company I work for and the team I'm in. This causes me to have a self-induced work/life imbalance (for which I'm recognized and rewarded).
/ravi
|
|
|
|
|
I think work-life balance is very important. Happy employees work better. I try to leave work at work and make sure I have time to relax after hours and weekends. That being said, I haven't had a proper holiday in more than a year and I'm planning on taking a few weeks off to rest.
|
|
|
|
|
Hi,
I come from the C back ground, where white space is free, lines are terminated with ; & loops are in { } and all is right with the world. Moving to Python white space appears to terminate functions and loops, the structure is now a tuple. I appreciate that white space thing is easier for beginners but it's a little confusing for someone who is just trying to pick up the language quickly...
|
|
|
|
|