Originally Posted by Neill
Just as the subject line says. "How to create" or "How do you create something"
With all the tools to create and the knowledge and the resources to learn what to create. I always come back to this fundamental question.
"How to create?" I have been told the phrase "fill/find a need"
Then I am inclined to ask "What need is there?"
The best way I can put this is something I heard in an interview on youtube:
It went something like this...
"an instructor teaching programming tells his students to 'Create something'.
The students look around at one another whispering amongst themselves and
then some say out loud, 'we don't know what you mean or how to do that. You
have to tell us what to create. Then we can create something.'"
Can anyone help me figure out what I am missing? Im a linear thinker. I wouldn't know if that would make a difference when it comes to programming being that its all logical thinking.
I hope this doesn't seem redundant to a previous post I made some weeks ago. That was regarding, when you have all the choices and resources and there is a never ending supply of ideas but you don't know where to start and immediately get burned out before you even start.
I am a conundrum of issues in the creative department. I have always had to have someone tell me to make or do something in my educational life. But I have never been able to grasp the the concept of being able to create something out of thin air.
Thank you for your help on this guys!
I think your question is quite profound, a topic I considered in depth perhaps 40 years ago.
My answer is that logic is not sufficient to ever create motivation, only to direct the course of action based on some motivation. I realize that's a bit opaque, so for example; some people would claim that it's "logical to exit a burning building", but that isn't precisely true. It only becomes a logical course of action *IF* we assume you want to survive or avoid injury. Those are motives from your emotions or your limbic system, not from logical deductions based on facts. Logic can tell us nothing about this motivation. Logic addresses relationships like "how" questions and never "why" questions that refer to wants or emotions.
Software development certainly (in modern, common usage) certainly contains elements of style and personal preference, but the structure of the algorithm and the organization data is largely a work of logic based on some posits, once there is a complete formal specification.
Creating the specification (formal or complete or not) is a work based on wants and emotions, and not created by logic.
So for example an investor may WANT(emotion) a piece of software to track bond rate changes, and create notifications on certain programmable conditions. This is almost certainly because the investor believes that this variable indicates something that will allow then to profit and they WANT(emotion) the profit. Why do they want money/profit as opposed to say Mother Teresa taking a vow of poverty ? Again that's emotional/psychological and not the product of reason.
As you can see one primal motivation (perhaps to avoid poverty or else experience wealth or else simple competitiveness) is re-directed by some long circuitous path of reasoning into a new refined desire for a bit of software that will aid in the original goal. In fact this extensive chain of reasoning is so long and convoluted they we usually lose sight of the emotional basis and only see the intermediate reasoning about how to achieve the goal state. So we get statements like "it's logical to flee a burning building" which action has it's sole basis of the desire to survive, and never on logic.
Goals and preferences and wants never arise directly from reason or logic, but always from emotion, or primal desires or basic biological directives. Logic and reason refine and direct these goals into ever more specific paths, but can never provide the motivation for action.
So back to your issue - you can't create a program unless you have some sort of desired outcome, and in the case of software you will need to refine your desired outcome into a detailed specification. "What program do you want ?" is an increasingly difficult question in an age of, "there's an app for that". The simple stuff has been done often enough to have acceptable pre-existing solution. A program to select primes by the sieve of Eratosthenes is interesting to an algorithmic or math freak, but doesn't satisfy many ppl.
This question has nothing to do with linear-thinking or lack of imagination, but rather with motivation. It's intimately involved in YOUR personal emotional needs and preferences; the things that create joy for you. This implies desires and curiosity, and nearly everyone is born with plenty of those (sometimes these are beaten out of ppl by the 'education' system or social pressure to appear "adult" or "mature"). The Delphic maxim, "know thyself" might apply here, but I can also suggest the study of Zen can help one in cutting through the murky self and understanding where our emotions arise. There is a curious little kid still inside there catching lighting bugs and playing with magnets - find him - save him. That is your muse speaking.
But before you go so far afield as philosophy, start by considering the things you currently enjoy. Maybe it's reality TV or Motocross or cars or girls or quadcopters ... pick any topic that brings you
joy and then reconsider the thing with some quantitative or at least reasoned curiosity. Ask yourself questions on that topic that pique your curiosity and suggest software.
Another common emotion wrt software is dissatisfaction at it's limitations, faults and problems. When I look at the Linux/Win PC situation I see mounds of incompatible software awaiting (Win)Docker-like solution. I see massive security holes. I see GUI based software that cannot be used without a GUI/head end. I see loads of different and incompatible config files in /etc . I see the good new systemd idea troubled by a lot of secondary issues and some incompatibility. I see network configuration dealt with in a piecemeal way and not on a coherent strategy. Just be sure your dissatisfaction is valid and neither a fundamental limitation of the problem space (security will always require authentication) nor jpollardic nostalgia (it's not like it used to be in 1985). I could pluck 100 software idea from this sort of thinking in a few hours, but the difficulty is in choosing a small enough task to be practical for a class project (tho' a lot of class projects have turned into FOSS careers).
My most recent brain-f*rt is to attempt to "dockerize" the android environment on top of Linux. Could be a great fun project (by my desires).
Originally Posted by ocratato
Looking at my list of projects that will keep me occupied for several more lifetimes
I sometimes wish I had your problem
My list of projects has quite a few that fall into the "Necessity is the mother of invention" category - things that I think would be useful or would make some task a lot easier. These will come to you as you go about life - just learn to look for gaps - see what is not there rather than what is already there.
Another very good source of ideas is conversations with other people - bouncing ideas around between one or two others can be a source of inspiration - especially if they have different backgrounds and perspectives.
You should perhaps spend some regular time reading about what is happening in the technical world so that when some new technology emerges you might be able to see how to adapt it to some need.
In the mean time - until that idea occurs to you - perhaps help out some open source projects. This will give you some practice and perhaps provide an opportunity to spot some need that can be filled by your own project.
I very much agree - but above all follow YOUR
interests where ever they lead. I'l point out that following the news will likely present you with interesting ideas that are not directly addressable by the average individual. Quantum computing has been in the news again recently, but it's unlikely that the OP can manufacture of buy a quantum computer. That doesn't close the door. One can readily imagine creating software modules that emulate qubits and use this to compose a quantum computing emulator. Or alternatively using an understanding of how QC works to create estimates of computation time or else suggest ways to decompose problems to be amenable to QC. There is a lot you could do w/ software w/o having to employ a physicist or buy $100mill in hardware.
Originally Posted by beaker_
Thinking and choice are two fundamentals education has forgotten and must return to.[...]
Not sure I agree given where drop-out rates, illiteracy and innumeracy are. A class in critical thinking and econ would be great but .... Depends on what you mean by "Choice". Comparing trade-offs is a fundamental part of economics marginal utility - but anything normative in a government school seems totalitarian, and we have too much projection of opinions replacing education there already.
Primary education has failed in most respects b/c there is little feedback from the consumer to the producer; government is in the way as a middleman in a three way exchange. This is the same problem that causes massive in efficiency in the US healthcare system where the employer typically acts as a middleman in a three-way exchange. The cause and solution appear in any econ101 text and are widely evidenced. Nuff (probably more than enough for this forum) said.