472,344 Members | 1,886 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,344 software developers and data experts.

Some help getting started

Hi there,

A few weeks ago I made a post and got an answer which seemed very logical.

Here's part of the post:

PHPkemon wrote:
I think I've figured out how to do the main things like storing products in de database by an form and then showing the products on the pages using a
SQL-query. Note: I think I know how I will do this..... it's all in my

head

Answer (thx for it btw Justin)
- Get it out of your head and on paper with diagrams before you start, or
- you may be struggling later. Remember, planning is the first step. If
- you skip it and go right to coding you may have problems with more
- complex programming and interfacing.

Does anyone know any good guide in how to get my ideas on paper or give me
some pointers in how to do that?

Help is greatly appreciated!

TIA!
Jul 16 '05 #1
4 2551
PHPkemon wrote:
Hi there,

A few weeks ago I made a post and got an answer which seemed very logical.

Here's part of the post:

PHPkemon wrote:

I think I've figured out how to do the main things like storing products


in
de database by an form and then showing the products on the pages using a
SQL-query. Note: I think I know how I will do this..... it's all in my


head

Answer (thx for it btw Justin)
- Get it out of your head and on paper with diagrams before you start, or
- you may be struggling later. Remember, planning is the first step. If
- you skip it and go right to coding you may have problems with more
- complex programming and interfacing.

Does anyone know any good guide in how to get my ideas on paper or give me
some pointers in how to do that?

Help is greatly appreciated!

TIA!

Pick up a decent text on interactive system design such as
"Interactive System Design" by William M. Newman and Michael G.
Lamming (Addison-Wesley publishers). The book was published in
1995 but the principles and methodologies it describes are valid
today and will remain valid forever (in computer time).
Jul 16 '05 #2
"PHPkemon" <so***@mon.com> wrote in message
news:bf**********@news.surfnet.nl...
Hi there,

Does anyone know any good guide in how to get my ideas on paper or give me
some pointers in how to do that?

Help is greatly appreciated!

TIA!

To start, I don't know of any guide that will help you out. But, I can give
you some pointers that work for me and you can see what you like. To give
you some perspective, the planning phase is, by far, the most important (and
should be the most time consuming) part of 99% of all your programming
projects (there are exceptions). Writing 500 lines of code only takes a
couple hours. Developing a reliable, extensible relational database
structure may take days. Also, the techniques that most programmers use to
plan their project vary and are usually a product of years of work and/or
formal education. Producing a method that works for you will take time.

I would outline a typical PHP/web project like this:

1. Initial Design/Concept/Parameters/Capabilities/Features
-A lot of this is in your head. If you're doing this professionally, the
client should be the one giving you all of this information.

2. Formal Design
-This should be mostly on paper. If there's something in this project
that you're not sure how to do, this is where you blow the dust off the
manual. Knowing your technical capabilities is an absolute must at this
phase.

3. Technical Design
-Start putting together block diagrams of how your code should work. Put
some thought into how your site will interact with the user/browser.
-Decide on your user interface (if applicable) and stick with it.
-Design your database structure (if applicable). Make sure you're not
going to need to change anything in the future (so do it right). If you
think there might be some changes needed, anticipate them and code
accordingly.
-Remember the more time you spend here, you will at least earn it back
during the next phase if not a not more. The larger the scale of the
project, the more time you will save later. On a couple occasions, I would
say that I've earned a ten-fold return on my time just by spending more time
planning and less time coding.

4. Code
-Do it. I (and most other programmers) have two methods of coding:
top-down and bottom-up. The paradigms are opposite (obviously) and one will
usually be better than the other depending on the project. In top-down
programming, you start with the overall structure of your system and work
your way "down" into the specific features and sub-systems. (For web
development, I use top-down programming far more than bottom-up.) In
bottom-up programming, you start by developing sub-systems that will
eventually work together to form the whole project. This is a good method
if you're trying to "push the envelope" of the programming environment. If
you're not sure you can accomplish something technically challenging, this
is usually a better method.

5. Test/Debug/Recode
-This is the infinite loop inside of which you will be placed after getting
an initial code base developed. If you did your work early on, you should
only need a couple iterations through this phase (fixing syntax and spelling
errors are natural). If you're reworking program or database structure
during this phase, you will want to spend more time in the planning phases
next time.

6. Deployment
-This step can sometimes be trivial (especially if you're testing your
application on the production server). Other times, you will need to create
installation scripts and configuration front-ends to help a client
incorporate your application into their current system. This is usually
were I write the technical manual for the system. If you're doing a very
extensive system, context-sensitive help is also a very nice feature that
will have your customers coming back for more.

Some other pieces of advice:

-Keep in mind that the code you write will almost alwyas have to be
rewritten or modified in the future. If your program structure is poor,
this can be the most painful process of maintaining your program. Try to
always remember the axiom: KISS (Keep It Super Simple).

-With the last point in mind, you shouldn't strive for absolute perfection
when designing the structure of a program. The most ideal programming
structure is usually one of the slowest structures. You'll need to learn to
balance organization with execution effeciency (something we all work hard
at). For instance, don't write two functions that loop through the same
array just because it keeps your code more readable. Loop through the array
once and do both tasks at the same time. Also, HTML templates can sometimes
drag a high-performance content engine to its knees. Work on developing
techniques that allow your HTML to be more "aware" of the data structures
you are using. (IMHO there is no good way to completely abstract process
from presentation without tremendous overhead.)

-Read a lot of books. The more time you spend in the heads of other
programmers, the more will rub off on you. And who knows, maybe someday
you'll be writing one of those books for all of us. (Buy, borrow, or steal
every O'Reilly book they make that has anything to do with your programming
environments.)

-Develop a system of drawing flow charts of your program algorithms. There
are standard flow-charting methods, but who cares if you need to read a text
book just to read an algorithm you designed.

-Write a lot of "pseudocode." Write out algorithms in plain English at
first if it helps you understand what you're trying to accomplish: 1. Open
File; 2. Read Data from File; 3. Close File...

-Use visual methods for optimizing complex algorithms. Some algorithms seem
easy when you think about them in your head, but get to be very complex when
you try to write the code. Use things like drawings, flash cards, building
toys, puzzle pieces, and graphs to help you decide on what algorithm will be
the quickest. Yes, it's low-tech, but it's definitely helped me out a few
times (especially with recursive algorithms).

-Don't rely on other people's abilities to solve your problems. If you post
code to a newsgroup asking people to help you fix it, you should feel a
sense of obligation to the people that help. Instead, you should try to
seek out the resources that will help _you_ fix your problem. Newsgroups
are nice places to find this information. (Along those lines, learn how to
use the Google archives if you haven't already.)

Hopefully, this has given you some ideas and some direction in learning more
efficient ways to develop programs. What works for you will only come with
time and experience. Experiment with different methods (like doing a
project without any planning, then doing a project by planning way too
much).

Good Luck,
Zac

PS: If you haven't already, read the PHP manual--talk about a time saver!
Jul 16 '05 #3
"Zac Hester" Wrote:

< snipped A LOT > :-)
Hopefully, this has given you some ideas and some direction in learning more efficient ways to develop programs. What works for you will only come with time and experience. Experiment with different methods (like doing a
project without any planning, then doing a project by planning way too
much).

Good Luck,
Zac

PS: If you haven't already, read the PHP manual--talk about a time saver!

Wow!!! Jesus.... now THAT'S an answer!!
Did you type it all in or did you copy/paste it?
No matter how you did it.... THANKS (for) A LOT (of your time)!! ;-)
I will definitly make use of your info.

Cheers!


Jul 16 '05 #4
--

"Jerry Gitomer" <jg******@erols.com> schreef in bericht
news:bf**********@bob.news.rcn.net...
PHPkemon wrote:
Hi there,

A few weeks ago I made a post and got an answer which seemed very logical.
Here's part of the post:

PHPkemon wrote:

I think I've figured out how to do the main things like storing products


in
de database by an form and then showing the products on the pages using aSQL-query. Note: I think I know how I will do this..... it's all in my


head

Answer (thx for it btw Justin)
- Get it out of your head and on paper with diagrams before you start, or - you may be struggling later. Remember, planning is the first step. If
- you skip it and go right to coding you may have problems with more
- complex programming and interfacing.

Does anyone know any good guide in how to get my ideas on paper or give me some pointers in how to do that?

Help is greatly appreciated!

TIA!

Pick up a decent text on interactive system design such as
"Interactive System Design" by William M. Newman and Michael G.
Lamming (Addison-Wesley publishers). The book was published in
1995 but the principles and methodologies it describes are valid
today and will remain valid forever (in computer time).


Thx for your answer. But I think I have enough info after reading Zac's post
and I will find the php-manual as Zac's had suggested.
Jul 16 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Benji99 | last post by:
Hi guys, I'm starting to learn Python and so far am very impressed with it's possibilities. I do however need some help with certain things I'm...
1
by: soni29 | last post by:
Hi, I'm going to be starting a project with a friend of mine in C#, we're doing it to learn the language a little better, to get more experience...
0
by: tamdino | last post by:
Please accept my apologies if I am posting this in the wrong place. I am trying to get started using MySQL-Front and I am totally lost. Does...
84
by: Bibby | last post by:
Hi, I'm interested in getting started in the programming world. I've dabbled in C, C++ and VB6. Which would be the best language to focus my...
2
by: Michael | last post by:
Im new to C# and am interested in learning I dont have much experiance with other C languages but have done some scripting I was wondering if there...
6
by: Jack Duijf | last post by:
Hello, I am looking for a person in The Netherlands that is willing to help me getting started with Vb.net. Please send a message to jack@aicn.nl...
6
by: TPJ | last post by:
Help me please, because I really don't get it. I think it's some stupid mistake I make, but I just can't find it. I have been thinking about it for...
20
by: mike | last post by:
I help manage a large web site, one that has over 600 html pages... It's a reference site for ham radio folks and as an example, one page indexes...
4
by: evenlater | last post by:
Anybody know how to prevent the annoying Access 2007 "Getting Started with Access" page from showing up when the database is closed using...
0
by: concettolabs | last post by:
In today's business world, businesses are increasingly turning to PowerApps to develop custom business applications. PowerApps is a powerful tool...
0
better678
by: better678 | last post by:
Question: Discuss your understanding of the Java platform. Is the statement "Java is interpreted" correct? Answer: Java is an object-oriented...
0
by: teenabhardwaj | last post by:
How would one discover a valid source for learning news, comfort, and help for engineering designs? Covering through piles of books takes a lot of...
0
by: Naresh1 | last post by:
What is WebLogic Admin Training? WebLogic Admin Training is a specialized program designed to equip individuals with the skills and knowledge...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was...
0
by: Matthew3360 | last post by:
Hi there. I have been struggling to find out how to use a variable as my location in my header redirect function. Here is my code. ...
0
by: Arjunsri | last post by:
I have a Redshift database that I need to use as an import data source. I have configured the DSN connection using the server, port, database, and...
0
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.