Welcome, Guest: Register On Nairaland / LOGIN! / Trending / Recent / NewStats: 3,167,304 members, 7,867,802 topics. Date: Saturday, 22 June 2024 at 01:42 AM |
Nairaland Forum / Ghenghis's Profile / Ghenghis's Posts
(1) (2) (3) (4) (5) (6) (7) (8) (of 8 pages)
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 4:05am On Mar 06, 2012 |
#1Who said anything about time critical software and agile ? #2 ? #3 the point was to take a snippet of code and analyse the design considerations , #4 If you say so ? #5 Regarding the book, I've read several books on software design patterns and head first is actually one of the best I've read in that category. Look beyond the learning aids: they picked a software problem and showed how you refactor to patterns. It seems the whole thread is jumbled up. I rest my case. |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 8:03pm On Mar 05, 2012 |
Hello @csharpjava I happen to have a hard copy of Head first Design patterns (Well read also , ). Yes you implement patterns, my point is that its not class diagrams or UML. Its also not code. From you reference csharpjava: Your reference says it all It provides a [size=14pt]vocabulary [/size] for [size=14pt]expressing architectural visions[/size] and clear, concise [size=14pt]representative[/size] designs and detailed implementations. [size=14pt]Presenting[/size] software pieces in terms of their constituent patterns also lets developers [size=14pt]communicate[/size] more effectively, with greater conciseness and less ambiguity. Software patterns[size=14pt] influence[/size] how developers design and implement computing systems. |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 6:11pm On Mar 05, 2012 |
csharpjava: I wanted to look for a supporting references and voila wiki : http://en.wikipedia.org/wiki/Software_design_pattern A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. So patterns are formalized best practices that you must implement yourself in your application.[1] Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved. http://www.vogella.de/articles/DesignPatterns/article.html A design pattern is not framework and is not directly deployed via code. And Finally : http://www.cincomsmalltalk.com/userblogs/ralph/blogView?showComments=true&entry=3338009673 He says that " Everyone already knows that Design Patterns means a library of C++ code templates". Yes, some people think that. They are wrong. A design patttern is not a library of code templates in any language. If you use Design Patterns by copying code from the book then you are stupid and missing the point. The point of the book is to teach you to think. If you learn how to think about code then you will program better. |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 2:38pm On Mar 05, 2012 |
csharpjava: I don't really agree with all of this : Design patterns does not provide an alternative for development from scratch. Its not also not strictly an API or code base, though some vendors implement the pattern in there API. using class diagrams not not using design patterns. Software design Patterns are a common, identifiable set of recommended solutions to a set of commonly recurring software development challenges. Its the common ones that are implemented in code like Singleton, Observer, Proxy, Memento, Command (used by a lot of UI frameworks like struts or jsf), . Others you implement yourself : e.g. Factory, Strategy, Facade etc. |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 6:57am On Mar 05, 2012 |
delomos:Yeah, my point is an organization needs process maturity amongst other things to be able consistently perform. Many customers (Nigeria included) look for organizations with huge reputations to deliver their critical systems(It doesn't have to be life critical, say time critical). delomos:Even the most innocuous looking code is susceptible to abuse, so a developer has the responsibility to weight the odds and decide. For instance, when would you use an Array instead of a Map ? You have to weight the consequences of using either in your current context. But you also consider contexts outside the current. Also Regarding enterprise: post a very short snippet of code(hope its java) here and we'll analyze that.(Got to get to work now ). delomos:Saw the Amazon dis of GOF patterns, the book is not the most explanatory but it brought patterns into the mainstream. Its easy for the poster to say that now, go back to 1994 when the book was written, it wasn't that much common place. Also patterns are not new code, its consistency in handling common problems. So its not meant to be innovative per se , That's my response to the Amazon poster, but I get your point about Vienna , |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 6:32pm On Mar 04, 2012 |
delomos:Windows 95 suck ? Hmm that was the OS that defined what a desktop OS should be , ME and VISTA were bloatware (ME especially), Vista was just Window 7 beta. If you want to hear about software development, research windows 3.1 etc. Back then MS was making computers do things that chip makers hadn't dreamt of. MS were hacker back then, they really pushed the limits of x86. I'm not really an MS fan, but I'm sure there's no OS with as much appeal and backward compatibility as Windows (Note i'm not saying its the best, but it has the highest number of programs working on the planet). delomos:God forbid, but If a loved one were on a life support system or lets say space shuttle; who would you rather have develop the code the one with more processes than software or the code guru that can "develop an e-commerce site overnight". People talk about enterprise software all the time. Its not the size of the code that makes it enterprise class its the breadth of its adoption. When you develop a "simple" app to allow customers debit their account and credit another one : The number of things that can go wrong are so many, its sometimes mind boggling. When i write (or i'm supposed to write) code sometimes, I just sit and keep thinking. No matter how smart or good you are we all make mistakes, every line of code you write is a potential bug. So there no point rushing, Its a question of picking the one that'll have the smallest negative impact. |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 1:02pm On Mar 04, 2012 |
delomos:Hmm, I get your point. The original waterfall model is great, but for science projects, Defense contracts etc. Business projects rarely have that level of requirements maturity. Hence the failure of "waterfall" to meet their requirements. There are many methodologies that work well though, beyond agile. Microsoft used Spiral quite successfully, delomos: The way you have procurement rules in the public sector , there are sometimes very strict rules on those who can bid for certain kinds of contracts. CMM used to be a criteria. Sometimes , it could be number of employees , >100,000. Also how to do you judge, a capability of another party ? Its generally through 3rd party certification ( 6 sigma, CMMI, etc , ) So certifications matter. And yes client needs to also look beyond certification sometimes (But its a good door opener) Those certs are not easy to achieve, they require so much discipline. I worked for a coy that had all the resources, but simply didn't have the discipline to achieve CMM certification. delomos:Yes i know you didn't use it as a complement. I felt you used it to signify that a lot of though was not required of code monkeys. I beg to differ , |
Programming / Re: In Search Of "that" Software Development Methodology by Ghenghis(m): 12:14pm On Mar 04, 2012 |
@Logica & @csharpjava, you guys are head on , About agile, apart from all you guys have said there's a fundamental property which agile breaks : OWNERSHIP. [list] [li]It removes ownership, first from a single developer or a group of developers. So you can't sit on code and not let others review claiming "I'm working on it". [/li] [li]It enforces standards, if everyone is authoring a document, then it has to be done the way EVEVRYONE wants it. It would also make the code "probably" simpler or better because there's consensus.[/li] [/list]Then finally the frequent release/milestone. Manages risk, no "big baang" approach that bring surprises when the customer has rejected 6 months of work. Agile practices manages the most risky part of software development : Change in all forms And yeah lots of Indian companies are CMM LEVEL 5, they need it to bid with the big boys (They use it as a leveler to compete with US firms). A lot of people believe it hasn't achieved what it set out to do. delomos:Funny enough, there are very few ways of writing good code. Everyone(?) knows good code when they see it. The developer(or code monkey as you call it) has a lot of freedom in implementation. The Architect largely defines boundaries. So yes, selection of frameworks and APIs is mostly architectural. I've inherited a lot of legacy code in different respects, and i believe it made me better. I see solid design choices that'll make you whistle and bugs that'll make you wonder if the programmer went to elementary school, all in the same body of code. That's the reality we live in. |
Programming / Re: Java Collections Question by Ghenghis(m): 11:45am On Mar 04, 2012 |
Mobinga:If you insist |
Programming / Re: Creating Multiple Columns In The Db by Ghenghis(m): 8:56am On Mar 04, 2012 |
The approach isn't lazy, like Beaf I use the technique a lot also , but on the command prompt. You use code/sql to generate template like code/sql. Though wrapping it with PHP probably isn't as flexible as simply storing it as .sql for later use. |
Programming / Re: Java Collections Question by Ghenghis(m): 8:49am On Mar 04, 2012 |
Ironically is Map would provide an easier solution. I know where you're going with the array thing, there are 4 fields. He'll then start juggling indexes , Simple solution : Associative array(a.k.a HashMap) so instead of using indexes he simply uses his search key to find the record his interested in. Fayimora:You learn to write good code by reading good code written by others. Not by shielding developers from standard/basic data structures. |
Programming / Re: Java Collections Question by Ghenghis(m): 6:56pm On Mar 03, 2012 |
Fayimora: Array ke ? He needs a Map or 2 (HashMap). |
Programming / Re: Can A Nigeria Programmer Afford A Range Rover Sport? by Ghenghis(m): 12:19am On Jan 09, 2012 |
My company has earned as much as $25, 000 on software i wrote (with just 1 enterprise customer, minus annual support fee etc.). The same software was sold to 2 customers (that's the entire market). I'm sure the total earnings must be close to $100,000 in 3 years. It depends on who is selling and who is buying, there's no limit to how much can be earned, its a matter of meeting the right need. would you rather try to sell $50,000 to 1,000 customers or $500 to 100,000 customers? The big coys understand this secret. I don't drive a Range Sport , not yet anyway. I'm sure its possible(my MD drove one, and he's a/was programmer). Just hang in there, and open your mind , |
Programming / Re: [problem] Write A Program In C++ That Finds The Hcf Of 2 Numbers Without Using A Recursive Function by Ghenghis(m): 8:00am On Nov 28, 2011 |
Fayimora: |
Programming / Re: [Beginner Assistance] How Do I Start Programming? by Ghenghis(m): 10:23am On Sep 13, 2011 |
@igbo-boy All the negatives and positives you've heard are because of the seriousness of the task you plan to undertake. I've sometimes wished i had more insight into medical engineering. You are uniquely placed to solve problems in the are of medicine through computing. Don't drop one for the other, both areas would serve you very well. I'll advise you drop all the web/scripting/frameworks etc. Concentrate rather on programming, there is a mindset(way of thinking) required for expressing your wishes digitally. Attain this mindset first, you can pick up on web technologies or frameworks later (or when necessary). My personal favorite is the java programming language, but others would do also : C#, VB.NET, python, Scheme, Lisp etc. |
Programming / Re: After Writting The Source Codes,how Do I Make It An Application Software! by Ghenghis(m): 2:02am On Aug 08, 2011 |
cod3mind: that others can use ? People can use binaries you compile on your target platform of choice. If you're talking about GUI apps, then its not a conversion thingy, you'll probably have to learn some platform specific API's or better still use GUI & Widget libraries like WxWindows (which happens to be the lib of choice for Bloodshed Dev C++). |
Programming / Re: Defend Your Programming Language by Ghenghis(m): 10:35pm On Jul 12, 2011 |
GoodMuyis:I also started with Q-BASIC, and it can be quite powerful (especially if you use Quick BASIC instead), however you have to move on with the times. Q-Basivc programs are basically running in real mode DOS. you're better of using a modern compiler (I used Liberty Basic years ago) for basic, or better still use a .NET language or Java. You'll get the best tools for free and the communities are matured and well established. Java is my language of choice cause its consistently simple, powerful and expressive. Many languages might be better in one area or the other but hardly can you find anyone that has the broad appeal. U can make a similar argument for C# et al. |
Programming / Re: Help With C I/o Code by Ghenghis(m): 7:24pm On Jul 11, 2011 |
first rule of programming, "thou shalt debug thy own code"! /* Program to display the contents of a file on screen */ #include <stdio.h> int main(void) { //declare pointers file FILE *fopen(), *fp; int c; //open file for read access fp = fopen("data.txt","r" //read a character c = getc(fp) ; while (c != EOF)//while character is not end of file sentinel continue { putchar(c);//print character c = getc(fp); // read next character } fclose(fp); //close file return 0; } |
Programming / Re: Coding Challenge 3: Sum Of Primes by Ghenghis(m): 2:06pm On Jul 09, 2011 |
It doesn't look different but ,they are very different. Your solution might take n2 iterations, which is 2,000,0002. I'll tell u something about primes, they are the building block of every other number. Hence i only need to verify if a number is prime by testing it against other primes. So once u find a prime number store it, you then use it to test other numbers. |
Programming / Re: Coding Challenge 3: Sum Of Primes by Ghenghis(m): 1:32pm On Jul 09, 2011 |
Fayimora: Ghenghis: |
Programming / Re: Coding Challenge 3: Sum Of Primes by Ghenghis(m): 12:58pm On Jul 09, 2011 |
public class Primer { static private int MAX = 2000000; private int[] store = new int[ MAX / 2 ] ; public static void main(String[] arg){ Primer p = new Primer(); p.checkPrimes(); } void checkPrimes(){ int primesFound = 0 ; long sumOfPrimes = 0; for(int i = 2; i < MAX ; i++){ if(isPrime(i)) { store[primesFound++] = i; sumOfPrimes+=i; System.out.println(i+ "," } } System.out.println("total =" + sumOfPrimes); } boolean isPrime(int num){ int cnt = 0 ; Double d = Math.sqrt(num); int lim = d.intValue() + 1; while(store[cnt] > 0 && store[cnt] < lim){ if((num % store[cnt]) == 0){ //not prime return false; } cnt++; } return true; } } |
Programming / Re: Coding Challenge 3: Sum Of Primes by Ghenghis(m): 12:53pm On Jul 08, 2011 |
Programming / Re: Coding Challenge 3: Sum Of Primes by Ghenghis(m): 11:37am On Jul 08, 2011 |
32 minutes seems too long for the problem, When you post benchmark results like time, it would also be nice if you posted the system specs like CPU speed, processor type , RAM, OS etc. |
Programming / Re: Is Anything Better Than The Netbeans Ide? by Ghenghis(m): 5:05pm On Jul 04, 2011 |
candylips:Yeah, IntelliJ is good but, I think eclipse still beats it in terms of 3rd party framework support. Pick any esoteric framework you can think of, there is a high likelihood that eclipse plugins exist for it. |
Programming / Re: Python Vs Java by Ghenghis(m): 9:05pm On Jul 03, 2011 |
netghost:they are good choices, but not perfect. You'd have to use the special c/C++ compilers for the platform and not the general purpose one. i.e. every time new hardware is released, a new compiler and accompanying api and toolsets are also released. This is okay, but it ties you to the platform , candylips:loose typing vs. strong typing is not an IDE thingy. Its runtime type Identification, meaning i won't bother about this until runtime. Java is strongly typed meaning all[most] data types are determined at compile time , in python you can have a list that has string, number, character : the same is not possible in Java. If you have to do this in java u loose type information and have to treat the list as one of objects , |
Programming / Re: Is Anything Better Than The Netbeans Ide? by Ghenghis(m): 10:37am On Jul 03, 2011 |
Eclipse Strength is in its community, hence plugins and extensions. I'll list some enterprise toolsets based on eclipse : WSAD, Progress Sonic ESB, JBOSS IDE, LOMBOZ, SAP Business Objects, SPring IDE the only one i can redily think of using netbeans is Jasper reports(I'm not sure). The beauty of MyEclise is all the great plugins are brought together into a POWERFUL IDE. If you're doing jsf or swing programming you'd probably use Netbeans, but if you're doing enterprise development: eclipse is by far the winner. |
Programming / Re: Python Vs Java by Ghenghis(m): 10:27am On Jul 03, 2011 |
netghost: I largely agree with @SayoMarvel, you create viruses ( and such) by utilizing loopholes or breaking the rules with regards standard practices. For example most compilers(higher level languages) would try to prevent you from buffer overruns, using memory outside your segment, etc. If you need to what's not standard then you need to drop all the safety harnesses, Assembly language give you no harness. Also it takes time to program in assembly, though its not as bad as its usually portrayed. I don't think i'll write a GUI program in assembly but there are certain parts of a program (especially those that deal with low level utilities or drivers) that assembly is best suited. Python is cool and useful for quick prototyping, but once i get my algorithm or done my initial tests , I move to Java. I respect the Python, TCL/TK and perl languages, but i find them most useful for stringing system utilities together. Python is definitively not more object oriented than Java, Its Loosely typed. |
Programming / Re: Is Anything Better Than The Netbeans Ide? by Ghenghis(m): 2:10pm On Jul 01, 2011 |
Fayimora: The open nature of Java means other parties have an equal chance of doing something great on the platform. Oracle and IBM made much more money from Java than SUN ever did. The eclipse community is a colossus compared to Net beans, and the eclipse team broke grounds in Java. Really, i've been using eclipse long before net beans came along (the days of Forte for Java). Net beans is trying to catch up. Its probably great for new developers, but eclipse seems to be far more productive. |
Programming / Re: Is Anything Better Than The Netbeans Ide? by Ghenghis(m): 10:34pm On Jun 30, 2011 |
eclipse is really cool, but if you want to get stuck on a Java IDE for use MyEclipse. Its a developer's dream. It feels much more natural than net beans. Another jazzy IDE is intelliJ IDEA. |
Programming / Re: Please What Really Is Object Oriented Programming. by Ghenghis(m): 8:56pm On Jun 19, 2011 |
To add to what everyone has said and dell_net's example OO allows you to express complex programming tasks in the language of the problem. Imagine baking bread : the recipe might be : 1 gram flour 2 spoons sugar 1 teaspoon yeast etc. The recipe then goes on to show you how to mix and how long to bake. Simple enough ? The complexity that's hidden away is you didn't worry about how was the flour made ? corn, yam, wheat ? Who planted the corn ? What kind of oven was the bread baked in ? blah blah blah OO allows us to worry about just parts of the problem that are immediately important/interesting to us. dell_net: Yes dell_net is right but it's also usually the wrong way, roadsta makes a good point about composition. I don't have to be a plane to "fly" i could simply use/board a plane. (dell_net i get what you're trying to pass on, just wanted to show @0Edward0 how OO focuses on everyday language rather than **$% ) |
Programming / Re: Please Can Some1 Convert This To Date For Me? by Ghenghis(m): 6:42am On Jan 14, 2011 |
look for a date constructor that accepts a long as an argument |
Programming / Re: What Laptop Spec Is Good 4 Programming And Graphic Design? by Ghenghis(m): 8:41am On Dec 13, 2010 |
the compaq seems fine, though a bit pricey. One of the more important things for a laptop is mobility, which comes to battery life. If you envisage long periods better you recharge then look for a laptop with i5 proc. else the Compaq is great. You should invest in extra RAM also. An it seems to ship with SUse or DOS , That's not good if you plan to use windows , |
(1) (2) (3) (4) (5) (6) (7) (8) (of 8 pages)
(Go Up)
Sections: politics (1) business autos (1) jobs (1) career education (1) romance computers phones travel sports fashion health religion celebs tv-movies music-radio literature webmasters programming techmarket Links: (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) Nairaland - Copyright © 2005 - 2024 Oluwaseun Osewa. All rights reserved. See How To Advertise. 86 |