Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I recently learned java by reading the book Head First Java and I also bought the book Effective Java which I'm planning to finish later. I've been searching the ways to improve Java programming skills online but all I found are algorithm practice questions just like questions in the book Cracking the Coding Interview. I finished about a hundred of them and I found they are useful; however, I still cannot see how this is related to making real object oriented applications like desktop softwares or Android Apps.
Every time I visit stackoverflow.com, under tag Java I see those questions about things that I have never heard of. I'm really frustrated. Am I on the wrong track to the real programming world?
Thanks.
There are many options you might resort to, to improve your development and design skills. And all come through developing real-purpose applications. If you are at loss yourself to find a problem interesting enough and complex enough for you to exercise and hone your skills, you can always contribute to opensource projects. For instance you might go through java projects hosted in github, pick one you like, and have a look at its todo list if any, or pick a an issue and investigate it, fix it if you can and contribute a patch.
This exercise will expose you to product-grade codebases (depending on the project your chose) and several aspects of software development and will most certainly help you improve your skills.
link for java projects hosted at github
Related
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I've been interested in learning about app development after taking a college class in Java. I watched a video tutorial about App Inventor by Derek Banas (he covers amazing tutorials and I highly recommend him). I'm slightly concerned because as I was watching the tutorial I could understand how to code some of the "blocks" by using java.
So my question is would it be better to simply stick with expanding my Java knowledge, or should I pick up app inventor as an additional skill? I just don't want to spend hours learning how to use app inventor only to realize that my time would have been better spent learning Java.
It all depends on your objective. App Inventor is a great introduction to programming, but there are limits to the types of apps you can build with it. For those with some java experience, App Inventor is a great tool for rapid prototyping and teaching, but that's about it. Given you already have some java exposure, I would recommend you continue down that path and learn native android development. There are great free resources available that can help your learning curve. Here is a very good one: https://www.udacity.com/course/ud853
Note: Many GDG (Google Developer Groups) are organizing study groups based the free Udacity course in 2015Q1. You may want to see if your local group is one of them - https://developers.google.com/groups/directory/
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've decided to be java certified we all know that OCJA7 or OCJP6 are pre-request for OCJP7
So I need to decide which cert are better to start with but I need to consider that there will be a gab between the first exam and second one about 4 months
Is to get OCJP6 then upgrade it to OCJP7 better or to Start from OCJA7 ?
It really depends on your level of java knowledge and what you intend to do. I assume you are a software developer.
OCA (Oracle Certified Associate) is a really basic entry exam. From my experience in Germany, employees usually don't care about it.
OCJP (Oracle Certified Java Professional) shows that a developer has some knowledge of Java. Employees (again in Germany) actually know about and this certificate might help you to get a job offer. There are a lot of rather bizarre questions asked during OCJP, so it's a really good idea to study OCJP preparation materials.
Now, when it comes to versions, I think employees don't care too much about it. You could have OCJP6 or OCJP7 but that won't matter too much. Your actual work experience will count a lot more than the OCJP version. That said, having a really old OCJP certificate might not be perceived so well. Updating your OCJP certificate once in 3-5 years should be enough for the most employees.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 7 years ago.
Improve this question
I've been learning Java for the last 2 months with a Core Java book. Now I want to write something real, but at first I decided that I need to improve my knoweledge about algorithms and data sturctures so I'm currently reading a book on that.
I want to join an open-source project which is mature enough to learn from it but is still growing so I can really contribute to it. I browsed the whole apache and sourceforge looking for something interesting and the project I became really excited about is Apache Hadoop. Although it's quite complicated I don't think it's going to be a problem if I'm interested enough.
So the question is: does anybody here has expereince contributing to Hadoop? What can you say? Is there enough room for futrher development?
Yes, Hadoop has a whole ecosystem of projects to get associated with. Like HDFS, Hadoop Map-Reduce, Pig, Hive, Oozie etc. You might poke around using any of the VMs available like http://www.cloudera.com/downloads/
This will help you get acquainted with what all different projects are involved and thereafter you can contribute to make things better.
cheers
We certainly always welcome new contributors. Although it sounds trite, all open-source projects, Hadoop included, need improved documentation and tests. While this work may not be the sexiest, it does provide new contributors with experience in the code and the opportunity to provide useful patches that committers love to see. I'd caution against an anti-pattern I often see: announcing or signing up for too much work or suggesting too radical a change before establishing experience and credentials within the project.
There's always room for further development.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I've recently learned core Java and want to develop my skills further with practice of programming. Instead of starting out with my own project, i would like to follow a well documented and organized project which would help me understand the language better.
Can anyone please suggest some open source projects to get involved in ?
look at http://java-source.net/
my personal favourite open source java project is JDownloader
I would advise you go through some of the Free / Open Source Software sites that host the projects and start filtering your searches for Java projects with a high number of users / downloads, as they tend to be fairly mature and will allow you to start looking through them.
My main recommendation is Arianne (http://arianne.sourceforge.net/). It's won several awards and is quite professional. There are only two listed developers, and they seem quite friendly. Plus, it's a multi-tier video game engine, so there's plenty of fun you could get out of working on it.
Otherwise, check-out java.net, kenai.com, and sourceforge.net for more possibilities.
If you want an early project with potential, there are plenty, but it can often be the luck of the drawer with those.
Following are good places to contribute in open source projects..
Sourceforge
IBM DEV
I also Advise you to use Android (Mobile development) . You can make business apps and Mobile Apps using Android.
Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
I would like to see/learn how solid principles are utilized in a right way in a real projects.
Or there is none?
<shameless plug>
You can have a look at the source code of my project. I've tried to follow the SOLID principles and the recommendations of the Clean Code book. For example following SRP has caused the classes to be very small and focused - the largest classes are only about 200 LOC (when counting whitespace, copyright statements and comments). It's all in Java, but that is close enough to C#, and the principles are anyways the same.
</shameless plug>
I've been pretty impressed with the work put into an open source game: Star Trek Supremacy (http://supremacy.codeplex.com/). In addition to the author trying to learn new technologies, he is also applying some good programming practices as well - and his code is pleasant to read (e.g. the grab a favorite beverage and a printout kind of pleasant).
The author says on the website:
I started this project in large part
as a learning experience, and as such
it has become a sort of testbed for me
to try out several new Microsoft
.NET-based technologies, including:
* WPF
* WCF
* LINQ (in-memory, DLINQ, and XLINQ)
* Parallel Extensions
* XNA (for 3D combat system)