Learning JavaCV in pure Java [closed] - java

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I am trying to learn JavaCV. As you all know, the lack of educational materials on this subject is a very big problem. In JavCV home page, they have provided lot of examples for the C++ examples in book "OpenCV CookBook". But the case is, they are not Java, they are in SCALA!!!! Now I have already gone crazy! I know lot of examples are in web, but I want to learn it from beginning to advance, then only I can do it properly. "OpenCV CookBook" is a very good book but it is all about OpenCV in C++, not anything about Java.
Someone please help me to find a better place to learn JavaCV. Provide me whatever, URL, Book, etc. But it must be about learning JavaCV in 100% Java, not in Scala, C++, C or whatever other language! Please help!

< update >
Times change - and so does OpenCV. Right now, a pure Java wrapper (not Android) is growing fast, allowing anyone to use OpenCV functions directly in desktop Java apps/
< /update >
You can find some tutorials in Java in the OpenCV samples directory: samples/android.
You can also find some more info here.
Now, I am pretty sure you will say you want Java, but not Android :). But this requires an explanation.
For various reasons - the main one being efficiency and the second one portability to embedded platforms, computer vision is done almost entirely in C/C++. It is the de facto standard. Everybody uses it, with good reasons, and good results.
There are different adapters to the C++ code base, like Python and Java, but they exist to fill some specific gaps: Python is used for fast prototyping, and Java for interfacing the Android main language. But in all scenarios, the 'real' algorithm development is done with C/C++. This is why nobody cares about tutorials/books/examples in other languages.
Conclusion: If you want to learn image processing, learn C++ or Python. If you want to build some app, learn the OpenCV java interface from docs/android tutorials. But do not expect flexibility or control over performance.
Updated note
There are two more things to specify here.
First, as Android gets on its wheels, and Python proves more and more popular, the content available in the two languages (and others) are increasing dramatically. But for the years to come, the core development group - and the best docs - will be in the C++ area.
Last, but not least, you should keep in mind that in any work or programming area, if you stick to one language, you're dead. Principles matter, and you should be able to implement them in a variety of languages, and you should be able to read and understand from a variety of sources. What about a programmer that says he is not able to translate pseudo-code into Java? It's quite the same with other languages.
You can read the great blog post Don't call yourself a programmer to understand why you should forget about programming in one language.

Related

Just need some suggestions on improving knowledge of java [closed]

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 11 years ago.
Improve this question
I have been coding in java for a while now .... i want to continue in java and improve my coding abilities. I want some suggestions on -
any websites, blogs, to keep track of latest happenings in java like new coding techniques, standards, new java features, new APIs, basically anything new about java ..... (just for example sake Androidpolice keeps track all that is happening in android)
I have used a couple of classes from google guava libraries. are there any other such libraries which are helpful ?
Any suggestions are appreciated. Just wanna improve my java knowledge
Thanks
I will suggest you to participate actively in Stack Overflow. I improved a lot after joining SO. Better do lot of practice rather than reading. Create problems on your own and try to solve them. Practice makes man perfect.
I cannot recommend enough the Effective Java book by Joshua Bloch. The second (and most recent) edition assumes JSE6 hence recent (JSE7) features are not covered. But the content is impressive and certainly the kind of book I recommend developers who have moved beyond the basics.
As sans481 told, you have to practices.
Try to create different application in Java.
& If error occurs StackOverflow is here to solve your problem.
First clear funda of Java if you are not aware with it then try it.
Good Luck....
Try out some of the TopCoder challenges. They may not improve your knowledge of the API but they will make you a better programmer and thinker, and you can use Java as an implementation language.
Java Magazine is published on a bi-monthly basis in digital and mobile formats. It includes:
Profiles of innovative Java applications
Java technical how-to’s: Enterprise Java, New to Java, Rich Client, Polyglot Programming, and more
Java community news: Java User Groups, JCP standards, and more
Information about new Java books and conferences and events
Similar to TopCoder, there is also CodeChef, Project Euler and SPOJ which will help you with algorithms and make you a better programmer; not to mention helping you learn to write working Java code quickly. It won't help you write large programs, or learn object oriented stuff, but I still think it helps.
Warning, CodeChef may make you want to learn C++ because it's much more popular for online coding competitions (due to speed and memory differences).

How do you integrate functional programming languages to Java or C#? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 6 years ago.
Improve this question
I am interested in using OCaml or Haskell to develop an engine for statistical computing. This functionality is supposed to work on data that is going to be provided by a model driven, Object Oriented information system. The whole thing needs to scale up and out.
I can see a lot of benefits in using Haskell for example, but getting the data in an out of the Haskell code is tricky. There are always out of the box options like C/C++ interfaces or JNI, but in an architecture which is supposed to scale, I find these approaches problematic and error prone.
Considering FP is on the rise, how do people integrate these languages into widely used languages, hence technologies such as Java? I have been using ZeroMQ and Protocol Buffers for Eiffel to Java integration for example, but are there any options which has proven to be stable and high performance?
Ps: Stackoverflow warns me that this question appears subjective, but I am asking about actual technical solutions to connect different runtimes. I have no intention of discussing pros/cons of any language or paradigm.
Have you considered using Scala? It supports functional programming on a JVM platform. You could integrate it with Java, but you might find that is not needed.
You may also find it is faster than Haskell, esp. with tighter integration with Java.
http://benchmarksgame.alioth.debian.org/u64q/which-programs-are-fastest.html
F# will give you functional programming with the .Net platform for "free".
OcamlJava can interface Java with Ocaml:
OCaml-Java is an effort to make Objective Caml available on the Java platform, currently supporting 3.11.2. The project has two concrete objectives: first, the ability to run Objective Caml sources that have been compiled using ocamlc; second, the ability to compile Objective Caml sources into executable jar files.
You use languages such as Scala, i.e. languages that already run on the JVM.
There are plenty functional languages that run on the JVM and thus integrate quite nicely with the rest of the java code.
My favorite is Scala, but there is also Clojure and Groovy, just to mention a few.
Using Scala or F# would be the real solutions as others say, but just in case if you like something easier to start with, you can also do some functional programming in Java (or C#) like these people https://www.google.com/search?q=functional+programming+java as FP is a programming style that favors immutability.

Examples of Object-Oriented Projects Help Procedural Programmers [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
Please help me identify some small to medium sized open source projects that embody object oriented design (preferably in C++ or Java). I would like to use these projects to demonstrate how real world problems (as opposed to contrived text book examples) can be solved with an object oriented design. I want to be able to present a plausible explanation of why certain things were chosen to be objects and how they all work together to solve a problem.
Google Chromium (C++): windows, tabs, plugins etc. are all classes.
The Unreal Tournament Public Source Code (432 Headers) contains the declarations of the Unreal engine class library written in C++. I found it to be a rich example of a large object-oriented program. It taught me a lot about how to modularize and object-orient my code. It also demonstrates many tactics for getting a handle on a large code base.
Also, because all you can read are header files, you'll have a fun (and educational) time trying to figure out how the whole thing comes together. (I actually ended up writing my own x86 disassembler so I could cheat and read some of the definitions!)
On the same note, the Doom 3 SDK contains a large chunk of the Doom/Quake engine written in very readable C++.
Just about any large project designed in Java is object-oriented, almost by definition. You can take a look at Apache Hadoop as a large-scale, open-source, objected oriented project written in Java. Another is Apache Ant.
Eclipse would be a good example on the Java side: the plugin architecture is all object oriented.
I asked the same thing to my OO mentor. He pointed me to the JUnit sources, with the recommendation to see how it evolved version by version. This would show you how Kent Beck writes Java code.
Another example on this vein would be the sources of Fit by Ward Cunningham.

Best resources for a Java developer working on .NET solutions [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 3 years ago.
Improve this question
My company has acquired several companies lately. We are a Java shop but have both VB .NET and C# .NET code bases now. I am about to start supporting these systems and am having trouble find good resources for finding the parallels/differences in .NET and Java. I have seen a few books but cannot decide which to buy, they all seem basically the same. It would be nice if anyone knows of resources that are online instead of having the information buried in a 700 page black and white book.
Specifically, I would like to find some resources that compare the macro and micro level differences. Including things like "what is the .NET equivalent of HashMap, ArrayList and Queue", and "How do I interact with a database" or "What are the differences between ASPs and JSPs".
I am really looking for some opinions about which resources are the best from people who have been in a similar situation (Java developer to .NET).
Thanks.
Read this, most importantly the Programming Guide, and bookmark the Reference.
I'm from a Java background and recently started using C# and found the MSDN very helpful. The auto-complete search field often found me the reference page I was looking for.
Force yourself to learn LINQ. It's beautiful once it clicks.
MSDN. Seriously, MSDN is quite possibly the best-technical level documentation there is for the nuts and bolts of the C# libraries. Alternately, if you want a more exhaustive treatment, something like "CLR via C#" by Jeffrey Richter really gives you a good feel for what the CLR is capable of.

Switching from .NET to Java? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 8 years ago.
Improve this question
For the past few years, I've been working on a team that does .NET and SQL Server. I'll soon be joining a team that is Java and Oracle. What can I read/do to get up-to-speed.
Start here: http://java.sun.com/javase/6/docs/
Sun's documentation is pretty good.
See also:
Hidden Features of Java
Best Java Book you have Read So Far
Overriding Equals and Hashcode in Java
What is the Most Freequent Concurrency Problem You've Encountered in Java
Javapassion is a site that offers free courses on Java. If you are on a hurry, there are 1 to 5 days courses available. You should have no problem following it, if you have experience in Java.
There are many good books for Java, but Thinking in Java is free and is good both for getting started and using as a reference.
If you need conversion of things from one language to the other here is a great website:
http://www.25hoursaday.com/CsharpVsJava.html
This, similar, SO Thread might be helpful.
Josh Bloch's Effective Java is a fantastic book. If you want to learn modern Java idioms there are few better places to look at.
Be prepared to do a lot of reading. C# (assuming this was the language you have been using)is generally regarded as an improved Java, so the Java basics will not be hard to grasp. Java development tools are generally not as tightly integrated as the Microsoft stack, thus allowing for choices to be made. Lots of discussions in Javaland revolve around choosing tools.
Get to know something about the way Java packages things (jar, war, ear).
Learn about the classpath (an endless source of joy and grief).
Build a mental picture of how things work at compile time and run time (generics and type erasure, for instance).
Visit the JavaRanch (http://www.javaranch.com/) and test your Java knowledge with the Rules Roundup! Think of it as a certification mock exam, but with cows. ("No cows were harmed in the making of Rules Roundup.")

Categories