Hello. First, let me introduce myself: I am a Java (6 years exp), Python(2 years exp), and C (2 years exp) developer. This thread is both a question for all programmers (feel free to reply!) and a little bit informative for some :) So, I have been working on a relatively complex system (link[^]) that does the following: a- (OpenCV) reads frame by frame and detect motion, from a webcam b- reads from a second webcam without processing, just to watch c- controls a parallel port or usb device d- generates custom simple sounds e- logs everything described here. f- has a Graphic User Interface to control all of the above parameters. So 2 webcams, audio out, usb device, and graphic user interface, is in short what this system has. I've done this in python and it took me some 10k lines of code and weeks/months of time. So far works with some random errors, and a below-decent (in my opinion) interface. I wanted to ask this community if Java might be a better language at accomplishing this task, which is my hypothesis, but would like a second opinion or your general opinion about this: 1- OpenCV 2- Generating audio 3- Controlling a USB device 4- multithreading 5- GUI ------- I don't want to bias your opinion, but so far here is what i currently believe based on my work and exp programming on both languages: 1- OpenCV: Probably the same in both languages. Maybe Java is easier/more mature but IDK 2- Audio: Probably the same (someone might have done an audio class before) 3- Low level peripherals: I don't know. Probably Java has a disadvantage here? 4- Java's multithreading and multiprocessing seems to be far superior. Here's why: . When you launch threads in Java, the JVM will allocate it on a free processor if available. If you have 8 processors and you launch 8 threads, ideally it will allocate one in each. . While in Python , multithreading will use the same process for all threads. I managed to work around this by using multiprocessing [^] and what i gained was to make use of quad core and some better stability (OpenCV would complain with TKinter running at
ai_mc
Posts
-
Better language for complex GUI and input/output devices? -
Python vs Java for 3D Game development?Hi, i updated the first post with additional info. I initially didn't want to bloat up the thread with too much information but here it is.
Just a programmer.
-
Python vs Java for 3D Game development?Hi coders, I am in a task of development an open source 3D Maze for scientific purposes. Which one is better to make a 3D game and why? edit: additional info: i code in both of them, and might even consider learning c++ (to which i have a rudimentary undersstanding) Being open source, the code should be open and readable I've done a 3d maze previously with pygame, i was thinking of upgrading to something better because graphics look too "outdated" (link) Another "feature" this must have is to execute easily. Like double clicking the jar, or in terminal "python program.py" ; not to require too much external libraries Any of your opinions is very welcome , even funny ones :)
asdsda
-
I think Ubuntu is still not ready for the desktop ( and won't be any soon .... )Actually I agree with the OP with certain things. I am a Java dev, and think that: Ubuntu is not that user-friendly as some Linux users want it to be. Average user does not need to know how to sudo things: Instead, if "he" wanted to install something, a tool similar to Ubuntu Software Center should be used. Something user-friendly, without typing archaic things, with nice graphics and aesthetics. Install procedure: Already said. In Windows if you need to install something regular, you download the "installer", next next finish. In Ubuntu, it is much more complicated. (compiling things? really?) There are some customization issues also: That ugly bar (not talking about Kubuntu here) should be replaced, or replaceable if the user doesn't what it. The Ubuntu's "Control Panel" should be more user-friendly. There should be something equivalent to "Task Manager". I mean, should I open a f****** terminal and execute two or three commands to kill something that has crashed? Which by the way happens more often than expected (unstable set of applications, not entirely Ubuntu developers fault). Nautilus has some issues, not being capable of renaming files when doing two clicks, among others. Not supporting NTFS file system as a possible partition for the installation of the OS is something a bit far ahead from what the average user think about, that is just wrong. Well, now that I discharged myself, I feel a lot better. :doh: I love how Ubuntu is easier to set initially, with the drivers automatically installed (most of the time) rather than in W7 putting the fu**** disk for each device.
asdsda