Buford T Justice wrote: » In terms of the pi, and its limited resources you can't necessarily use a heavyweight ide like eclipse on it, so I'm wondering what's the best approach for developing on a PI in peoples opinions?
Buford T Justice wrote: » Looking to do some development on a PI. Want to create a UI with some buttons that does some back end stuff and renders the PI camera on the screen also (maybe with some face recognition). Possibly looking to integrate a 3G Module for data connection Never used python before, but quite proficient in C# and have some apps in Android a few years ago. In terms of the pi, and its limited resources you can't necessarily use a heavyweight ide like eclipse on it, so I'm wondering what's the best approach for developing on a PI in peoples opinions?
14ned wrote: » Python runs absolutely fine on a Rasp PI. And indeed on CPUs far slower. Interpreted languages are much easier to develop on low end hardware than compiled stuff for sure. Niall
Buford T Justice wrote: » So my question really is, can you reach the same level of functionality with python as you could with Java on such a device
Buford T Justice wrote: » So my question really is, can you reach the same level of functionality with python as you could with Java on such a device, and it it much of a detraction from the methodology employed by these OO languages? Since it's a project that will be assessed, I'd like to try to implement SOLID principles in as much as possible.
14ned wrote: » SOLID, heh. I haven't written code except for coursework complying with that in well over a decade, if ever. If it's for coursework, writing it in Java is the safest choice. Java is well understood by those marking coursework. Python really isn't, any Python (or C++) I wrote would get a lousy mark because the people doing the marking are rarely professional programmers. I had figured you were playing with a Rasp PI in your spare time, if so Python is the best tool to solve your problem. If it's for assessed coursework, Java is least risk. Niall
Buford T Justice wrote: » Its both really. I have one for the summer to tinker and play with, and as a group we will be using one as part of a 3rd year project in September. I also have a real interest in the IOT space, since there are vast possibilities. Its only one part of the project, so there'll be other languages used elsewhere. Guess I'm just trying to do things "the right way" if such a thing ever existed. As an institution they are actively encouraging us to use non syllabus languages and technologies, so I'd hope their lack of understanding of something wouldn't affect the marking.... I'd hope.
DefinitelyMarc wrote: » Which college is this?
Buford T Justice wrote: » Any particular reason you ask?
srsly78 wrote: » You should use Python, with Qt for the gui, and OpenCV to do image stuff. Speed should not be an issue at all, since all your libraries are in C++ and really fast. Nothing is really "native" to python! Note if you are gonna learn Python use NumPy right from the start... Easiest way to get this good stuff is to install "anaconda" python as your distribution rather than the vanilla one. Sure you could use Java, but it would take you a lot longer and probably deliver inferior results. You would have to spend a lot of time screwing around trying to get bindings working for libraries etc, something that is trivial in python (use pip or conda for package management). You didn't specify a platform, windows, linux or mac? Any can be used with python, but linux works best (windows and mac often need hacky steps to install libraries etc). For windows you will have to go to following website allll the time: http://www.lfd.uci.edu/~gohlke/pythonlibs/
srsly78 wrote: » Install virtualbox/whatever and run linux dev vm on your windows so - all free. Dev environment will be very similar to target then. Hell you could probably just use the pi itself as a linux/python dev environment.
srsly78 wrote: » Yeah it works very well for a lot of things, could be used to do Qt/Python/C++ development. I can't use it for work tho because there is no gpu support right now.