View unanswered posts | View active topics
It is currently Sat Jun 07, 2025 4:10 pm
|
Page 1 of 1
|
[ 9 posts ] |
|
A guide to programming concepts
Author |
Message |
jonlumb
Spends far too much time on here
Joined: Thu Apr 23, 2009 6:44 pm Posts: 4141 Location: Exeter
|
I'm currently in the process of teaching myself some more programming, and would (I think) really benefit from some fairly basic level explanations to what is really meant in practice by certain concepts and terminology. About the only one I've come across that I fully understand is DRY, and that seems pretty straight forward. Does anyone know of any good, non-language specific guides to concepts like 'agile', REST, MVC etc. as all the explanations I have seen seem to be written in terms that are really aimed at people who have been doing this for a good while longer than I have.
_________________ "The woman is a riddle inside a mystery wrapped in an enigma I've had sex with."
|
Sat Mar 16, 2013 9:31 am |
|
 |
Fogmeister
I haven't seen my friends in so long
Joined: Thu Apr 23, 2009 7:35 pm Posts: 6580 Location: Getting there
|
Well mvc and many other things like it. (I suppose dry would fit in there loosely). Come under the idea of design patterns.
Ie ways of structuring code in order to achieve a result.
The first book I read on the subject is Head First Design Patterns. The code examples are written in Java but the content is relevant to all object oriented languages.
Might be worth giving that a try.
It covers all sorts like mvc, factory, singleton, decorator, etc...
|
Sat Mar 16, 2013 9:37 am |
|
 |
Fogmeister
I haven't seen my friends in so long
Joined: Thu Apr 23, 2009 7:35 pm Posts: 6580 Location: Getting there
|
Any chance we could move this into the Programming forum? 
|
Sat Mar 16, 2013 9:42 am |
|
 |
finlay666
Spends far too much time on here
Joined: Thu Apr 23, 2009 9:40 pm Posts: 4876 Location: Newcastle
|
Are there any areas in particular you want to learn about as you have a methodology, an architecture and a design pattern there. Agile as a concept is to make the dev process that, agile. From the waterfall method being fixed and unforgiving with changes and amendments. Agile is a way to develop a project that is open to change. Other development systems such as Kanban (using bins for work to manage workload) and Scrum/Scrumbut (lots of mini dev cycles called sprints each releasing a 'minimum viable product') fall under agile. REST - http://en.wikipedia.org/wiki/Representa ... e_transfer not much else to explain really... MVC takes the separation of converns system quite literally, along with MVVM. MVC is separated into 3 sections (using a web site as an example): Model - Products, users, news articles etc (database) Views - Ways to present that data (markup) Controllers - Processors (back end logic) it's a way to make the code clean and manageable as it's separated as to what it does
_________________TwitterCharlie Brooker: Macs are glorified Fisher-Price activity centres for adults; computers for scaredy cats too nervous to learn how proper computers work; computers for people who earnestly believe in feng shui.
|
Sun Mar 17, 2013 1:16 am |
|
 |
jonlumb
Spends far too much time on here
Joined: Thu Apr 23, 2009 6:44 pm Posts: 4141 Location: Exeter
|
Thanks for the explanations there Finlay, they're most helpful. Those particulars were more given as examples of things I had come across rather than a definitive list I was looking to understand, I was just wondering if there was a site or resource somewhere that would work as a reference for very much a beginner to these kinds of things!
Edit: I think what I need to do at this stage is to just start building something and make some mistakes to begin with. I've spent so much time reading around things trying to make sure I get everything right from the off, and it's just not going to happen.
_________________ "The woman is a riddle inside a mystery wrapped in an enigma I've had sex with."
|
Sun Mar 17, 2013 1:15 pm |
|
 |
forquare1
I haven't seen my friends in so long
Joined: Thu Apr 23, 2009 6:36 pm Posts: 5150 Location: /dev/tty0
|
I think trying to find explanations that aren't language specific might be difficult. You'll not necessarily know that you'll need a design pattern, or a framework, or a methodology until you come to a problem that it solves. While you are after something language neutral, what language are you learning? If it's something like Java, or one of the various C languages, the language is often similar enough to easily translate the design patterns. If it's something like Perl or Python it might be a little more difficult, though certainly not impossible. I think this is the best idea. My friend makes a lot of programs that work, but are poorly put together. I generally know best practises but am then put off by the extra work that putting things together properly usually adds. You probably want to strike somewhere in the middle 
|
Sun Mar 17, 2013 1:53 pm |
|
 |
jonlumb
Spends far too much time on here
Joined: Thu Apr 23, 2009 6:44 pm Posts: 4141 Location: Exeter
|
I think it's a slight pendulum reaction to the software I support at work. You could pretty much upload the whole thing to www.thedailywtf.com as a living example of how not to write web based applications. It works, but the back is just a horrible, horrible mess, and every basic bit of best practice is broken in it somewhere. I only dabble on the edges of it as I'm first line support and it's bad enough, but some of the violent swearing I hear from the dev's and other people that work under the covers more is really quite impressive. As for language, I'm currently proceeding with Ruby / Rails as it seems the best fit for what I want to do.
_________________ "The woman is a riddle inside a mystery wrapped in an enigma I've had sex with."
|
Sun Mar 17, 2013 4:40 pm |
|
 |
finlay666
Spends far too much time on here
Joined: Thu Apr 23, 2009 9:40 pm Posts: 4876 Location: Newcastle
|

Yep, starting with an idea is a good place to begin, I always find it easier on projects to start with an idea and go from there (like the current site I did, I had a clear set of tasks to achieve which made planning/implementing a lot easier). The concepts vary platform to platform in implementation, the C# MVC is different to that of PHP for example. Starting with good habits is IMO the best way to begin, I keep finding myself doing bad habits picked up from the old job for the sake of speed in getting it done at the cost of performance/readabaility/maintainability for anyone else working on it Starting with Ruby isn't a bad start as it's pretty popular (rails is a framework, much like .Net and Mono are for C#), I'm looking into improving my scripting with Powershell at the minute and also picking up nuances of Mono for writing some code for the Raspberry Pi and Android devices, there are just some features of .Net that no other language has that are awesome (LINQ mainly) that I enjoy using I'd also suggest you look at Javascript, Ruby is an OO language, and Javascript isn't, having the difference between the two is a good thing to know in programming. If you were going down a non web approach I'd suggest F# and C# as both use a common framework (.Net) and C# is an OO language, F# is what is called a functional language (and preffered by some companies)
_________________TwitterCharlie Brooker: Macs are glorified Fisher-Price activity centres for adults; computers for scaredy cats too nervous to learn how proper computers work; computers for people who earnestly believe in feng shui.
|
Tue Mar 19, 2013 12:22 am |
|
 |
jonlumb
Spends far too much time on here
Joined: Thu Apr 23, 2009 6:44 pm Posts: 4141 Location: Exeter
|
Cheers Fin, that's all worth knowing. I'm slowly forming a rough plan of attach in my head, and breaking everything down into more discrete tasks just to help promote a sense of achievement along the way!
I've purchased a Ruby and a Rails book from Pragmatic and I'm working through the first few chapters of both, just to get the core bits under my belt. I'll then start working on the project I have and pick up the rest as I need it.
_________________ "The woman is a riddle inside a mystery wrapped in an enigma I've had sex with."
|
Tue Mar 19, 2013 9:14 am |
|
|
|
Page 1 of 1
|
[ 9 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 9 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum
|
|