Welcome to the MP3Car.com forums.
You are currently viewing our boards as a guest which gives you limited access to view most discussions and access our other features. Registering will also remove advertisements. By joining our free community you will have access to post topics, communicate privately with other members (PM), respond to polls, upload content and access many other special features. Registration is fast, simple and absolutely free so please, join our community today!
If you have any problems with the registration process or your account login, please contact contact us.
|
06-15-2008, 11:28 PM
|
#1
|
|
FLAC
Join Date: May 2006
Location: Calgary, Alberta
Vehicle: 2005 Honda Civic
Posts: 935
|
What's the ideal language for a front end?
I'm wondering if I should switch my Java front end from JMF to Javazoom, or wait for this new Java Media package, or even keep doing it at all. So to help me decide, out of any language out there, based on a Windows platform, which language would be best to use to create a front end? Something that interfaces nice with a GUI, interacts with USB devices, embeds applications, all the good stuff. What do you think?
__________________
Ampie Case
2.5" Hard Drive 80GB Toshiba 5400rpm
Kingston 512 MB DDR RAM PC3200
Xenarc 700TSV - VGA Monitor
VIA EPIA M10000 Mini-ITX Mainboard
M1-ATX 90 Watt - Smart Power Supply
2005 Honda Civic
|
|
|
06-15-2008, 11:33 PM
|
#2
|
|
Fusion Brain Creator
Join Date: Mar 2006
Location: Colorado, but Canadian!
Vehicle: 2001 Honda Civic EX Coupe
Posts: 7,042
|
Anything but java. If you want speed, then .NET (C#/VB.NET) are out, not to mention java.
Something with power, and a good gui would be C++ hands down. Most games, and game engines are even made with C++.
|
|
|
06-16-2008, 12:05 AM
|
#3
|
|
Variable Bitrate
Join Date: Dec 2006
Posts: 245
|
If you aren't looking for cross platform -- C++, regular VB has a few, Delphi/Pascal (like me) are good choices.
|
|
|
06-16-2008, 01:27 AM
|
#4
|
|
FLAC
Join Date: May 2006
Location: Calgary, Alberta
Vehicle: 2005 Honda Civic
Posts: 935
|
So why hasn't anyone created a front end in C++ yet?
__________________
Ampie Case
2.5" Hard Drive 80GB Toshiba 5400rpm
Kingston 512 MB DDR RAM PC3200
Xenarc 700TSV - VGA Monitor
VIA EPIA M10000 Mini-ITX Mainboard
M1-ATX 90 Watt - Smart Power Supply
2005 Honda Civic
|
|
|
06-16-2008, 01:30 AM
|
#5
|
|
Fusion Brain Creator
Join Date: Mar 2006
Location: Colorado, but Canadian!
Vehicle: 2001 Honda Civic EX Coupe
Posts: 7,042
|
Lots have. I think even SD is C++
|
|
|
06-16-2008, 02:08 AM
|
#6
|
|
FLAC
Join Date: May 2006
Location: Calgary, Alberta
Vehicle: 2005 Honda Civic
Posts: 935
|
Well, that decides it. I have to learn C++, I want to jump on this in car mobile entertainment before it makes its way to all the manufacturers, maybe I can get a job doing it in a few years.
__________________
Ampie Case
2.5" Hard Drive 80GB Toshiba 5400rpm
Kingston 512 MB DDR RAM PC3200
Xenarc 700TSV - VGA Monitor
VIA EPIA M10000 Mini-ITX Mainboard
M1-ATX 90 Watt - Smart Power Supply
2005 Honda Civic
|
|
|
06-16-2008, 02:15 AM
|
#7
|
|
Fusion Brain Creator
Join Date: Mar 2006
Location: Colorado, but Canadian!
Vehicle: 2001 Honda Civic EX Coupe
Posts: 7,042
|
C++ is really really easy. If you know how to program, its just a matter of some syntax and you're done.
I can't remember how it works in java, but I think everything is an object in java right? So no primitives, a generic object can be cast an int or something with a simple "(int) object" thing. Its been a while, i realized java's idiocities early and abandonned it as everyone but mobile phone developers should. But in C++ there are primitives and objects which should be the only difference to java... Well that and the tediously long calls needed in java compared to a simple 1-liner in C++....
|
|
|
06-16-2008, 02:25 AM
|
#8
|
|
FLAC
Join Date: May 2006
Location: Calgary, Alberta
Vehicle: 2005 Honda Civic
Posts: 935
|
Stop that...you're getting me excited. I'm going to make a thread soon asking for what an ideal front end should have, then see what I can come up with.
__________________
Ampie Case
2.5" Hard Drive 80GB Toshiba 5400rpm
Kingston 512 MB DDR RAM PC3200
Xenarc 700TSV - VGA Monitor
VIA EPIA M10000 Mini-ITX Mainboard
M1-ATX 90 Watt - Smart Power Supply
2005 Honda Civic
|
|
|
06-16-2008, 08:47 AM
|
#9
|
|
Variable Bitrate
Join Date: Dec 2006
Posts: 245
|
There's already one, something about the perfect frontend, people are adding opinions.
|
|
|
06-16-2008, 09:21 AM
|
#10
|
|
Variable Bitrate
Join Date: Feb 2008
Vehicle: 2005 Saturn Ion
Posts: 363
|
you don't have to limit yourself to one language. Most if not all C based languages should play nice together. (tho I don't know if you need a special linker or whatnot)
My front end is about 80% objective-C, 10% C, 5% C++, and 5% scripting.
From what I understand C++ is the fastest object oriented language and very good for writing a backend where all the heavy duty lifting happens. However, something like .NET/C# probably is better for the interface.
|
|
|
06-16-2008, 11:14 AM
|
#11
|
|
Variable Bitrate
Join Date: Aug 2006
Location: Clearfield Utah USA
Vehicle: 2008 Chevy Impala SS 5.3 V8
Posts: 345
|
I'm going to have to disagree with c++ (dispite the fact that it's exactly what I'm using). It *can* be faster, but that all depends on how you write it. In many instances, because of the efficiency of the language, a c# written application may run faster. Not to mention your development speed may also increase if you where to use c# instead of c++.
I wouldn't choose c++ on speed alone for those reasons. A well designed front end should have a number of things in mind that are sometimes more important than the speed of the language. For example, I have taken into consideration, the memory footprint, development time, flexibility, community support (a popular language will have a larger pool of developers who may want to help), etc. You need to ask yourself, is this going to be yet another clone of RR, CF, SD, Media Car? Or am I going to introduce a new concept with my frontend? If so, which language does this best?
You also need to ask yourself who am I targeting? For example, (and I don't mean to plug my project) nGhost isn't architected just for carpc's, it is designed to run on embedded devices too (UMPCs, Internet Tablets, Cell phones, and even devices without touchscreen LCDs or LCDs at all. This is why also c++ was a good choice for me - the overhead of 4th generation languages would make nghost discouragable on such devices. If you expect your frontend to run only on carpcs only, then why not c# or even java, if it's more productive for what you want to achieve.
I foresee, in the future more distributed frontend systems. Maybe the backend is written in c++/c# with the gui frontend written in flash/actionscript.
...Just my two sense.
__________________
nGhost - "The Evolution of Car Entertainment"
Not just software: LinuxICE -- The Car Entertainment Platform"
LinuxICE IRC chatroom: #linuxice irc.freenode.com
|
|
|
06-16-2008, 11:20 AM
|
#12
|
|
Variable Bitrate
Join Date: Aug 2006
Location: Clearfield Utah USA
Vehicle: 2008 Chevy Impala SS 5.3 V8
Posts: 345
|
Quote: Originally Posted by colin 
If you aren't looking for cross platform -- C++, regular VB has a few, Delphi/Pascal (like me) are good choices.
you can easily create a crossplatform frontend in c++. There are plenty of gui toolkits that are crossplatform and media subsystems that are too. If you want crossplatformability: http://clutter-project.org for the gui, phonon for media, with those it will run on *nix, mac, and windows.
and please, for the love of all that is holy, don't even consider VB.
__________________
nGhost - "The Evolution of Car Entertainment"
Not just software: LinuxICE -- The Car Entertainment Platform"
LinuxICE IRC chatroom: #linuxice irc.freenode.com
|
|
|
06-16-2008, 01:59 PM
|
#13
|
|
Variable Bitrate
Join Date: Dec 2006
Posts: 245
|
Quote: Originally Posted by kev000 
I foresee, in the future more distributed frontend systems. Maybe the backend is written in c++/c# with the gui frontend written in flash/actionscript.
Or the backend is written in Delphi and the frontend is written in flash/actionscript?
BASICALLY though, steer away from bulky IDE high level languages like VB, Java, and the like. Anything with raw power is what you'll want to be using. Even flash is often slow and at first it's beautiful but I've noticed that parsing only 500 songs takes a good 10 seconds, imagine what happens when I finally sort my whole library? The 40,000+ songs are going to take forever! You have to find ways to work around these kind of problems... so speed is a very very nice thing in the long run.
|
|
|
06-16-2008, 02:31 PM
|
#14
|
|
Maximum Bitrate
Join Date: Mar 2007
Location: Socal
Vehicle: 2006 Evo MR
Posts: 584
|
VB and C# are the same speed...they are both just .net assemblies.
If development speed is a major concern, use what is easiest for you. You can always convert portions of the app later into a faster dll that is linked to by the main app. Then as time goes on move more and more functionality into your dll (probably written in C++ for speed).
I'm sure most users would rather have an app that worked better but was slower to an app that was fast as hell but buggy.
__________________
2006 Lancer Evolution IX MR In-Dash PC Project - WIP
Planning:
[----------] 100%
Purchasing:
[----------] 100%
Installation/Fab/Assembly (Revised):
[----------] 80%
|
|
|
06-16-2008, 04:43 PM
|
#15
|
|
FLAC
Join Date: May 2006
Location: Calgary, Alberta
Vehicle: 2005 Honda Civic
Posts: 935
|
So what about removing the operating system completely? Which language would be ideal to use as the complete structure with no operating system to run on? What would that take?
__________________
Ampie Case
2.5" Hard Drive 80GB Toshiba 5400rpm
Kingston 512 MB DDR RAM PC3200
Xenarc 700TSV - VGA Monitor
VIA EPIA M10000 Mini-ITX Mainboard
M1-ATX 90 Watt - Smart Power Supply
2005 Honda Civic
|
|
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -5. The time now is 07:41 AM.
|
|