how to become a hardcore programmer

937 views
Skip to first unread message

Rammohan Vadlamani

unread,
Dec 10, 2009, 3:40:22 PM12/10/09
to javaprogrammi...@googlegroups.com
Hi all,
         I have been practising java programming for the past one year and have learnt pretty much of it. But I want to program really big stuff. Can any one tell me how should I proceed. I have also heard that algorithms and mathematics play a big role in programming. Can any one let me know the significance of algorithms and maths in the field of computer programming.

Rammohan

Andre Brown

unread,
Dec 10, 2009, 5:32:40 PM12/10/09
to rmm...@gmail.com, javaprogrammi...@googlegroups.com
Programming is all about practice and experience.  So my advice to you would be to work on some projects.  Start a personal programming project - perhaps a small desktop application to begin with.  Make it something you want to use, something that matters to you.  You may also try participating in some open source projects.

On the math part, the good programmers I know are also good at math.  I think being good at math makes you a better programmer, but you don't have to be good at math to be a good programmer.  If you are a logical thinker, then you should be fine.

That's my two cents worth.

--
To post to this group, send email to javaprogrammi...@googlegroups.com
To unsubscribe from this group, send email to javaprogrammingwith...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en

Nuno Garcia

unread,
Dec 10, 2009, 6:50:50 PM12/10/09
to rmm...@gmail.com, javaprogrammi...@googlegroups.com
Hi, I'm picking the last part of the question to answer you.

Everyone knows how important the prime numbers are in Computer
Science. And also everyone should know that there is no algorithm to
compute / identify if a number is prime or not: you just have to
divide the number consecutively by others until you conclude that
there are no divisors and thus the number is prime.

The difference between knowing your math and do this in a brute force
approach is the difference between being able to calculate if a number
is prime or not (specially for very large numbers).

For instance, is a number is not divisible by 2, it will not be
divisible by 4, or by 6 or by any other pair. So if you conclude that
the number is not divisible by 3, you can skip the pairs in the
division check. And the same thing applies to multiples of 3, 5, and
so on.

This is just using concrete maths. You can find examples in almost any
area of maths, for example, in graph theory. The shortest path
algorithm that routes our data packets in the Internet is a purely
mathematical algorithm which happens to be usable in computer networks
(thanks, E. Dijkstra!).

Best regards,

Nuno

2009/12/10 Rammohan Vadlamani <rmm...@gmail.com>:

André Perroni Luchesi

unread,
Dec 10, 2009, 7:36:37 PM12/10/09
to rmm...@gmail.com, javaprogrammi...@googlegroups.com

Hi Rammohan,

 

One first good step is reading this great article: http://norvig.com/21-days.html

 

Math and algorithms really plays a big role in computing. Both sciences will help you to develop better codes without bugs (or at least as few as possible) and your application will be less expensive to the hardware.

 

But there isn’t an easy way to learn, you have to practice, a lot!!!

 

Andre.

 

 

----- Original Message -----
--

Jesse Lesperance

unread,
Dec 10, 2009, 10:27:36 PM12/10/09
to nuno.m...@gmail.com, rmm...@gmail.com, javaprogrammi...@googlegroups.com
A correction to your statement, there ARE algorithims to calculate the
prime of any given number. In fact, those algorithims are used for
many things like SSL encryption

Sent from my iPhone

On Dec 10, 2009, at 7:22 PM, "Nuno Garcia" <nuno.m...@gmail.com>
wrote:

Warain, Jessie

unread,
Dec 10, 2009, 11:01:47 PM12/10/09
to Jesse.Le...@cbs.com, nuno.m...@gmail.com, rmm...@gmail.com, javaprogrammi...@googlegroups.com
Riehmann's hypothesis?


------------------------------------------------------------------------
----------
Jessie Warain, AE
"I do not fear computers. I fear the lack of them. "
------------------------------------------------------------------------
----------
**********************
** LEGAL DISCLAIMER **
**********************

This E-mail message and any attachments may contain
legally privileged, confidential or proprietary
information. If you are not the intended recipient(s),
or the employee or agent responsible for delivery of
this message to the intended recipient(s), you are
hereby notified that any dissemination, distribution
or copying of this E-mail message is strictly
prohibited. If you have received this message in
error, please immediately notify the sender and
delete this E-mail message from your computer.

mcalex

unread,
Dec 10, 2009, 11:18:05 PM12/10/09
to Java Programming Online Training Course By Sang Shin
a clarification to the correction
There ARE algorithms to calculate whether a given number is prime or
not. Here is one:
<quote="Nuno Garcia">You just have to divide the number consecutively
by others until you conclude that
there are no divisors and thus the number is prime</quote>
There ISN'T an algorithm that provides a list of prime numbers or for
instance, the first prime number bigger than 1,000,000.

On Dec 11, 11:27 am, "Jesse Lesperance" <Jesse.Lespera...@cbs.com>
wrote:
> A correction to your statement, there ARE algorithims to calculate the  
> prime of any given number.  In fact, those algorithims are used for  
> many things like SSL encryption
>
> Sent from my iPhone
>
> On Dec 10, 2009, at 7:22 PM, "Nuno Garcia" <nuno.mgar...@gmail.com>  
> wrote:
>
>
>
> > Hi, I'm picking the last part of the question to answer you.
>
> > Everyone knows how important the prime numbers are in Computer
> > Science. And also everyone should know that there is no algorithm to
> > compute / identify if a number is prime or not: you just have to
> > divide the number consecutively by others until you conclude that
> > there are no divisors and thus the number is prime.
>
> > The difference between knowing your math and do this in a brute force
> > approach is the difference between being able to calculate if a number
> > is prime or not (specially for very large numbers).
>
> > For instance, is a number is not divisible by 2, it will not be
> > divisible by 4, or by 6 or by any other pair. So if you conclude that
> > the number is not divisible by 3, you can skip the pairs in the
> > division check. And the same thing applies to multiples of 3, 5, and
> > so on.
>
> > This is just using concrete maths. You can find examples in almost any
> > area of maths, for example, in graph theory. The shortest path
> > algorithm that routes our data packets in the Internet is a purely
> > mathematical algorithm which happens to be usable in computer networks
> > (thanks, E. Dijkstra!).
>
> > Best regards,
>
> > Nuno
>
> > 2009/12/10 Rammohan Vadlamani <rmmo...@gmail.com>:
> >> Hi all,
> >>          I have been practising java programming for the past one  
> >> year and
> >> have learnt pretty much of it. But I want to program really big  
> >> stuff. Can
> >> any one tell me how should I proceed. I have also heard that  
> >> algorithms and
> >> mathematics play a big role in programming. Can any one let me know  
> >> the
> >> significance of algorithms and maths in the field of computer  
> >> programming.
>
> >> Rammohan
>
> >> --
> >> To post to this group, send email to
> >> javaprogrammi...@googlegroups.com
> >> To unsubscribe from this group, send email to
> >> javaprogrammingwith...@googlegroups.com
> >> For more options, visit this group at
> >>http://groups.google.com/group/javaprogrammingwithpassion?hl=en
>
> > --
> > To post to this group, send email to javaprogrammi...@googlegroups.com
> > To unsubscribe from this group, send email to javaprogrammingwith...@googlegroups.com
> > For more options, visit this group athttp://groups.google.com/group/javaprogrammingwithpassion?hl=en- Hide quoted text -
>
> - Show quoted text -

Nic Fox

unread,
Dec 11, 2009, 1:28:10 AM12/11/09
to rmm...@gmail.com, javaprogrammi...@googlegroups.com
Hi
The best thing to do to work on large applications is to either get a developer job in an organisation or to contribute to an open source project. Most jobs in Java development these days seem to require J2EE/Java EE, and usually that also means familiarity with SQL/database technologies, and HTML/CSS is also required. It is also common to see Struts, Spring, JBoss or ZK frameworks being employed which extend Java EE capabilities. Hibernate is another popular framework used for implementing persistence/database features. There are quite a few other frameworks—I've just listed the ones that I see most often in job adverts for Java developers—so you might like to look at others such as Google Web Toolkit and Tapestry for example.

The use of algorithms or maths really depends on the type of programming you intend to do. You would find them used more in fields like games, simulation, scientific applications, artificial intelligence and statistical analysis. Proof of correct operation and application efficiency are also areas where maths and knowledge of algorithms count. Boolean logic is pretty important to computer programming in general, so it's always good to have an understanding of that no matter what you do in programming. Another useful thing to practice is coding existing algorithms or mathematical formulas in Java, because you will often be applying existing algorithms or theory anyway.

If you're looking for more general skills to gain as a developer I suggest finding out more about the following:

- Design principles:
- don't repeat yourself (DRY)
- "keep it simple, stupid" (KISS) and "you aren't gonna need it" (YAGNI)
- tight cohesion
- loose coupling
- favour composition over inheritance
- encapsulate what varies

- UML: good for building models of class/object relationships and interactions, as well as the flow of program logic.

- Design patterns: I can't offer much advice as these can be hard to understand and I've only scratched the surface in learning these myself. They are ways of implementing common programming tasks. You will find knowing about abstract classes, interfaces and UML to be handy in learning about design patterns.

Cheers
Nic

Nuno Garcia

unread,
Dec 11, 2009, 4:47:58 AM12/11/09
to mcmc...@gmail.com, Java Programming Online Training Course By Sang Shin
True, I should have written: "And also everyone should know that there
is no _formula_ to
compute / identify if a number is prime or not: "
:-)

2009/12/11 mcalex <mcmc...@gmail.com>:

George Dickson

unread,
Dec 11, 2009, 4:52:00 AM12/11/09
to f...@nicfox.com, javaprogrammi...@googlegroups.com
I'm also just starting out in Java programming - and its a bit daunting. I was sketching a diagram in my head the other day with all the connections - I'll try to describe it

1. Start of with knowledge of HTML the basis of any web page
2. Then you can put Javascript into the HTML
3. You can wrap the HTML up as a JSP
4. Then you can throw in some Java
5. Wrap it all up in a Model View Controller Design pattern....
6. which you could implement with something like Struts
7. Which is glued together with XML
8. Spring also seems to be important
9. then you need to learn the development tools like Eclipse IDE
10. and build tools like Ant/Maven and CVS
11. finally know about deploying it on webservers like Tomcat or JBoss.

so as I said ... all a bit daunting

Nic Fox

unread,
Dec 11, 2009, 6:01:28 AM12/11/09
to George Dickson, javaprogrammi...@googlegroups.com
All good to know. Just take it one thing at a time—divide and conquer.

IMHO you don't really need to become an expert at all of the things in George's list, but it will be valuable to get the basics of them all down so you can learn the in-depth stuff once you have a need to use them on a project. For developers XML is pretty handy to know because it's used for XHTML, Flex and Ant as well.

Also I forgot to mention JUnit for unit testing, and Javadoc for documentation. Knowledge of either/both of these will help with your coding knowledge and also producing better code in Java.

ceduardo

unread,
Dec 11, 2009, 9:00:04 AM12/11/09
to rmm...@gmail.com, javaprogrammi...@googlegroups.com
Hi Rammohan I want to will be a power full programmer too, I like see the source code that find on Internet.

See this link can help you http://www.falstad.com/mathphysics.html

Bye.

PD: I am sorry but mi English is very bad.

2009/12/10 Rammohan Vadlamani <rmm...@gmail.com>
Hi all,
         I have been practising java programming for the past one year and have learnt pretty much of it. But I want to program really big stuff. Can any one tell me how should I proceed. I have also heard that algorithms and mathematics play a big role in programming. Can any one let me know the significance of algorithms and maths in the field of computer programming.

Rammohan

--
To post to this group, send email to javaprogrammi...@googlegroups.com
To unsubscribe from this group, send email to javaprogrammingwith...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/javaprogrammingwithpassion?hl=en



--
ceduardo
Carlos Eduardo Virgen Londoño
Linux USER #462524
IRC: irc.freenode.net  Channels: (#debian-es – #espaciolinux)
http://calinuxeros.zobyhost.com
http://dwresource.blogspot.com/
http://groups.google.com/group/calinuxeros
[NOTICIA DE CONFIDENCIALIDAD] Este mensaje (incluyendo cualquier anexo) contiene información confidencial y se encuentra protegido por la Ley. Solo puede ser utilizada por la persona o compañía a la cual esta dirigido. Si usted no es el receptor autorizado, o por error recibe este mensaje, favor borrarlo inmediatamente. Cualquier retención, difusión, distribución, copia o toma cualquier de acción basado en ella, se encuentra estrictamente prohibido.

[CONFIDENTIALITY NOTICE] This message (including any attachments) contains confidential information intended for a specific individual and purpose, and is protected by law. If you are not the intended recipient, you should delete this message. Any disclosure, copying, or distribution of this message, or the taking of any action based on it, is strictly prohibited.

* ^ *

unread,
Dec 11, 2009, 9:16:34 AM12/11/09
to Java Programming Online Training Course By Sang Shin
That is a mouthful. Seems like a high barrier to entry.

Any advise for a mid-career adult worker who one day may consider
going into this field.. or is it at all possible. Thank you.
> > javaprogrammingwith...@googlegroups.com<javaprogrammingwith passion%2Bunsu...@googlegroups.com>

Genene Geda

unread,
Dec 11, 2009, 10:58:27 AM12/11/09
to f...@nicfox.com, rmm...@gmail.com, javaprogrammi...@googlegroups.com

Nic good info. Do you know open source projects that a new java developer can contribute, I would like to do the same? Thanks,

 

From: javaprogrammi...@googlegroups.com [mailto:javaprogrammi...@googlegroups.com] On Behalf Of Nic Fox
Sent: Thursday, December 10, 2009 11:28 PM
To: rmm...@gmail.com
Cc: javaprogrammi...@googlegroups.com
Subject: Re: [java programming] how to become a hardcore programmer

 

Hi

CONFIDENTIALITY NOTICE -
This e-mail transmission, and any documents, files or previous e-mail messages attached to it, may contain information that is confidential. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are hereby notified that you must not read this transmission and that any disclosure, copying, printing, distribution or use of any of the information contained in or attached to this transmission is STRICTLY PROHIBITED. If you have received this transmission in error, please immediately notify the sender by telephone or return e-mail and delete the original transmission and its attachments without reading or saving in any manner.

Ashok A V

unread,
Dec 12, 2009, 2:26:29 AM12/12/09
to gg...@ghx.com, f...@nicfox.com, rmm...@gmail.com, javaprogrammi...@googlegroups.com
Hi Genene Geda,

http://java-source.net/ is your entry point to all famous java
opensource projects to which you can contribute

Thanks,
Ashok A V

--
Victory belongs to the most persevering.
- Napoleon

Ruby Hartono

unread,
Dec 12, 2009, 10:44:44 AM12/12/09
to javaprogrammi...@googlegroups.com
Hi, Rammohan Vadlamani

I agree with Andre Brown that you should start with small application first.
Like for me, I try to imitate a certain calculator program. At first I though it looks easy, however it is not as easy as I expected.
In my opinion, before you really proceed into a big program try to do the small program first and I believe you will gain something different from the exercise program that you ever created.
Reply all
Reply to author
Forward
0 new messages