jthall502 — 2013-12-03T20:18:28-05:00 — #1
I've been working at a small company for the past 5 years. This company uses a software that someone created a long time ago using Microsoft access. Though it gets the job done it is extremely clunky and slow.
With that said, I've been interested in learning to code for a while but never really had a reason to learn.
Well I now have my reason.
The owner of the company said they have no intentions of upgrading software themselves but if I could build something better they would gladly use it and possibly pay me for the final product. So basically, I want to build a web application for my company. I know that it may take me years to build it but I don't care.
If anyone would like to guide me in the right direction I would be extremely thankful. This is a sales company and even though I do ok I'm usually near the bottom of the pecking order in that regard. If I could build this app I would be the office hero as the current system we have now is universally hated.
Thanks in advance!
kiwiheretic — 2013-12-03T21:41:39-05:00 — #2
It does sound like an opportunity. I am presuming its a database application.
Have you any idea of the number of tables in the database? Also how many forms?
Warning: Many like PHP but my bias for database web development is Python/Django. I think Python is a better first programming language for absolute beginners.
That out of the way I think you need to try and work out how much work you need to do. The number of database tables and forms may give some fairly crude measure for that.
Then perhaps assess what is most onerous about your present system. (I am thinking you may be able to come up with a partially working system initially, that is incomplete but useful, so that your boss can readily see the merits of the direction you are going in.)
Sounds like an interesting project and if you do decide on python/Django I can help you with that but first we would need to assess what is needed.
jthall502 — 2013-12-03T21:52:02-05:00 — #3
Would you happen to have skype?
kiwiheretic — 2013-12-03T22:18:57-05:00 — #4
I'm in New Zealand so my time zone will be different to yours. I will reply more fully in pm
fishcode — 2013-12-03T23:16:14-05:00 — #5
I have never used Python, but I think I do remember hearing about its ease of use/learning. That being said PHP and MySQL is excellent and easy to learn as well. I've dabbled in programming since I was 10, but never got serious until the last 4 or 5 years. I was a novice programmer (if that) before getting into PHP, but with the write book (I am partial to a particular author) you can pick it up and achieve what you want in no time. It didn't take me long to be able to write usable real world web apps and now I consider myself on the advanced side of intermediate or the early side of advanced (might just be patting myself on the back, but that's how I feel).
As I don't want to make anyone think I am spamming I won't post these books or authors here, but if you want I will PM you with the info. After reading one book AND doing all the examples you should have the tools you need to accomplish your stated goal, however, continued learning makes things faster and simpler to understand.
It obviously depends on the sophistication required by your company's needs, but I have faith you can get something up and running in much less than a year if you are dedicated.
ralphm — 2013-12-04T00:00:53-05:00 — #6
Feel free to do so. It's always nice to get good recommendations.
fishcode — 2013-12-04T01:43:09-05:00 — #7
In that case my favorite author of PHP and any other programming language is Larry Ullman. His book PHP For the web - Visual Quickstart Guide (I have the third edition) is excellent - as are all his others, I have three and have a fourth on the way.
With little to no experience this book will get you up and running. I had a decent understanding of HTML before reading this book and a slight knowledge of CSS that was it. This book gives you enough knowledge on HTML and CSS to create websites using PHP and MySQL though I do recommend getting some documentation on CSS if you want to expand your layout versatility.
The way he teaches you is how all programming books should be written. He explains the concepts he will be using, then you type up all the code, and then he breaks each section of the code down to explain each part - what it does - and how it all works together. Not to mention that there is no wasted code here. Every script you write has an application in the real world. That is one of my biggest frustrations with tech books, learning code that is conceptually accurate, but not understanding how or for what purpose it might be implemented in real world projects.
His books not only teach you PHP & MySQL, but also leave you with functional scripts that you will use and adapt for use in your own projects. PHP For the web will give you all the concepts and knowledge you need to begin your own projects. Continued learning is always recommended, but I was amazed at how after one book I understood what I was doing and what I needed to do in order to solve my own problems and create my own projects as well as having usable scripts and websites I could adapt for my needs. Thank you Larry!
kiwiheretic — 2013-12-04T12:14:05-05:00 — #8
I don't agree with earlier statements in this thread that PHP makes a good first language. I don't see it as ideal for a beginner at all. If the project itself has no need to interface with other PHP modules or applications I would not use PHP. We know that the original application is written in Microsoft Access and if anything Python is closer to that.
I would definitely not say PHP is easier to learn than Python and PHP offers no clear advantage in this case. Don't use a language just because its popular. One should only use a language if its the right tool for the job!!
ralphm — 2013-12-04T19:51:11-05:00 — #9
Sounds like a good book, @fishCode. Thanks for the write up. Sounds like the kind of book I'd appreciate.
fishcode — 2013-12-04T21:32:19-05:00 — #10
Well I don't think anyone said PHP is easier to learn or that Python would be a bad choice. I do believe that PHP is easy to learn (as I have heard Python is, but I do not program in Python so I don't know). Now, I understand where you're coming from about Python being closer to Access, BUT not everyone has the time to learn a new language for each task. PHP & SQL is a great tool for many things so I think it would be a good choice for anyone trying to accomplish a goal quickly. As a plus the skills can be taken further into web design if desired.
When I worked as a computer tech someone wrote a "time card" script with PHP & SQL for our server which worked great and that guy also used his PHP SQL skills for web design - he was able to do many things with this skill set. Now it could certainly be argued that Python or another language would have been better suited for said time card script/program, but he had the skill set and made it happen. It worked well and he did not need to learn another language in order to do that one purpose. PHP is quite versatile in it's applied uses which is a plus. Python I'm sure is wonderful - I'm just thinking he could take his PHP knowledge and accomplish his goal plus be able to expand into different realms with the same knowledge. Depending on the size of his small company he could possible take his skill set and create or modify their company web site (even include a direct inventory system online adjusting for sales of products immediately) without paying hundreds or thousands of dollars to an outside web designer OR having to learn multiple languages etc...
I do not know the scope of the gentleman's project goals, but I think PHP is a great language for anyone to learn - whether it be first or last. It is easy to learn and can be applied in many different ways with the right imagination. I did not mean to say that Python was a bad choice, just that I do not know it and that I have had experience with PHP being used for small business needs - and it worked great. Just offering my opinion and experience.
fishcode — 2013-12-04T21:56:46-05:00 — #11
Analogy: there are many different types of hammers that are better for different types of jobs, but one can be used for most jobs with the right creativity. A standard claw hammer will accomplish most of your goals and is much cheaper than buying 10 different hammers for each purpose and less cumbersome than running to your toolbox every time you change hammering tasks if you don't really need to.
mittineague — 2013-12-05T15:50:47-05:00 — #12
To get things back on topic
I want to build a web application for my company. I know that it may take me years to build it but I don't care.
Without getting in to the pros and cons of various languages, because of
.... using Microsoft access ....
I'm thinking maybe .NET is the logical choice here?
@jthall502; Are your employers commited to MicroSoft software?
sg707 — 2013-12-05T17:04:07-05:00 — #13
To be perfectly honest, you should hire someone to do it for you and sell the product to your own company. One can go so far who just started learning. Of course, you CAN do it but good chance that you'll screw up something. In programming, if you take 1 wrong approach in the beginning could cost you many many hours to fix. For example, this is my tools to make web
Angular.js / ExtJs
There are literally thousands way of making an app. Whoever tells you just because you are using specific language magically makes the app better is an idiot. You can still learn from the guy you hired. Make him write what technology and why. You can even request for code review and even teach you if you pay him enough. Just my 2 cents.
kiwiheretic — 2013-12-06T14:30:27-05:00 — #14
Yes, it depends very much on the type of system. If its an accounting system, for example, then its more risky because of the accounting laws that need to be complied with. It very much depends on the type of system as to whether its a suitable project for a new programmer to tackle.
sg707 — 2013-12-06T17:18:19-05:00 — #15
I think you are not understanding my point. The type of system does not dictate to use compiled language or not. With a GREAT programmer, you can do it using PHP. I guess it depends on how CRITICAL the application is to business use case. For example, he said this app will increase performance. So, depending on how much time being saved could be in hundreds of thousand dollars. In this case, he better hire a professional to do this..since system downtime also have a cost.
kiwiheretic — 2013-12-06T19:09:36-05:00 — #16
I think its too early to state what language it SHOULD be done in as the OP hasn't given us enough details about the nature of the problem.
[Also my earlier brief comment about what I think of a certain language was censored by the forum administrators. An administrator then suggested .NET languages, probably because of its ability to interface directly to Microsoft Access. Therefore I wont comment further on the language choice. ]
However I will say this. I see no reason why he shouldn't practice on writing a CRITICAL application as long as he is not interfacing to that application in any way so I disagree on that point. (However there could be legal considerations that might make it undesirable for a learning project.) I would suggest that it should be relatively easy to make a copy of the database and work with that rather than risk contaminating a live database. This is just good practice to seperate development environments into development, testing and live environments.
pctechtv — 2014-01-09T17:13:29-05:00 — #17
Depending on the particulars of what the application does or needs to do I would take a look at FileMaker. Since you original app was in a database program this will be worth taking a look at. It can also be easily used across the web with FileMaker Server once built in FileMaker.