Page 1 of 2 12 LastLast
Results 1 to 16 of 23

Thread: Please could i have some advice on language to use

  1. #1
    Senior Member kasavien's Avatar
    Join Date
    Aug 2005
    Location
    St. Albans
    Posts
    1,829
    Thanks
    145
    Thanked
    104 times in 49 posts

    Please could i have some advice on language to use

    Hi all

    For my thesis this year i have a piece of software to develop which will be used to generate music, using a combination of AI and user input. I had been thinking that i would develop it in Visual Studio 2005 using C++ but the problem is that this project is a fresh implementation of a piece of software that was written on a mac and my tutor would like to maintain the mac functionality.

    At the end of the day it is most important that i develop in a language which will allow me to achieve the most and i feel that since i am used to VS2005 and C++ this would be best. But are there any alternative languages that would provide a simpler port, to make the software available to use on a mac? Would it be an option to use something like asp.net to create a web application? although i'm not familiar with it and it would use up time learning how to develop in it.

    If anyone has any advice it would be greatly appreciated.

    Thanks

    Andy

  2. #2
    Vampire
    Join Date
    Jul 2003
    Location
    London
    Posts
    1,705
    Thanks
    2
    Thanked
    11 times in 11 posts

    Re: Please could i have some advice on language to use

    Java would make it the simplest way to port applications across OSes I think. But then I dont do much programming and certainly not for different OSes.
    All Hail the AACS : 09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

  3. #3
    awm
    awm is offline
    Senior Member
    Join Date
    Apr 2006
    Location
    US
    Posts
    920
    Thanks
    4
    Thanked
    7 times in 7 posts

    Re: Please could i have some advice on language to use

    There are really three strategies that you need to consider:
    1. Use a language that is compiled to bytecode and run on a virtual machine (e.g Java).
    2. Use a web app.
    3. Use a language like C/C++ and a model-view-controller organization so you only need to rewrite the view on each machine (and recompile). If you use OpenGL heavily for the UI you can rewrite even less and have it be cross-platorm. This works well, but requires care in organizing code well (which is a good thing).

  4. #4
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS

    Re: Please could i have some advice on language to use

    c#

    it'll run on mac, via mono

  5. #5
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,164
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Please could i have some advice on language to use

    the problem here is if making the music interface with say MIDI, you will find the fun of platform fidelity. Java has some libraries, but last time i looked at this, they where flakey and still required extensive customisation for each platform. This was a while back i did this mind, was still at uni!

    C# .Net could use the direct-x api on windows, which should greatly simplify things, but windows only.

    Enless you have marks for porting accross platforms, don't bother, to do it properly takes great effort. As mentioned MVC or the slightly better imo MVP (Model View Presenter) is the best way, target each platform using all of its native elements and design ideas.

    C# is not only a great language, but won't bite you in the arse so much as java will if you want to 'break out' of the sandbox. Not too mention you could easily port it to the smartphone, which would be cool for this app
    throw new ArgumentException (String, String, Exception)

  6. #6
    Custom User Title
    Join Date
    Oct 2005
    Location
    Wirral UK
    Posts
    1,168
    Thanks
    10
    Thanked
    14 times in 14 posts
    • cougarslam's system
      • Motherboard:
      • Asus Maximus Formula SE (ROG)
      • CPU:
      • Core 2 Duo E6600 @ 3ghz
      • Memory:
      • 4gb Corsair DDR2
      • Storage:
      • 1TB
      • Graphics card(s):
      • BFG Nvidia 8800GT OC 512MB
      • PSU:
      • Corsair HX520
      • Case:
      • Zorro
      • Operating System:
      • Vista Business 32
      • Monitor(s):
      • 2 x 17" crt
      • Internet:
      • adsl max (entanet)

    Re: Please could i have some advice on language to use

    no idea what its like but heard someone mention it.

    JMSL Home

    JMSL is a Java API for music composition....

    personallly i would stick to what I know.

  7. #7
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS

    Re: Please could i have some advice on language to use

    Quote Originally Posted by TheAnimus View Post
    the problem here is if making the music interface with say MIDI, you will find the fun of platform fidelity. Java has some libraries, but last time i looked at this, they where flakey and still required extensive customisation for each platform. This was a while back i did this mind, was still at uni!

    C# .Net could use the direct-x api on windows, which should greatly simplify things, but windows only.

    Enless you have marks for porting accross platforms, don't bother, to do it properly takes great effort. As mentioned MVC or the slightly better imo MVP (Model View Presenter) is the best way, target each platform using all of its native elements and design ideas.

    C# is not only a great language, but won't bite you in the arse so much as java will if you want to 'break out' of the sandbox. Not too mention you could easily port it to the smartphone, which would be cool for this app
    SDL.net would give cross-platform midi support from a managed app

  8. Received thanks from:

    kasavien (14-12-2007)

  9. #8
    Senior Member kasavien's Avatar
    Join Date
    Aug 2005
    Location
    St. Albans
    Posts
    1,829
    Thanks
    145
    Thanked
    104 times in 49 posts

    Re: Please could i have some advice on language to use

    thanks people i like the suggestion of c# and mono it doesn't seem too distant from what i had intended so will certainly look into it and besides we are doing another project in c# too.

    Thanks

  10. #9
    awm
    awm is offline
    Senior Member
    Join Date
    Apr 2006
    Location
    US
    Posts
    920
    Thanks
    4
    Thanked
    7 times in 7 posts

    Re: Please could i have some advice on language to use

    Other people's views may differ, but for work I had to write some code in c# and hated it. It kind of gave me the impression that the basics were easy, but things quickly became difficult once one got out the scope of the .NET framework.

  11. #10
    Comfortably Numb directhex's Avatar
    Join Date
    Jul 2003
    Location
    /dev/urandom
    Posts
    17,074
    Thanks
    228
    Thanked
    1,027 times in 678 posts
    • directhex's system
      • Motherboard:
      • Asus ROG Strix B550-I Gaming
      • CPU:
      • Ryzen 5900x
      • Memory:
      • 64GB G.Skill Trident Z RGB
      • Storage:
      • 2TB Seagate Firecuda 520
      • Graphics card(s):
      • EVGA GeForce RTX 3080 XC3 Ultra
      • PSU:
      • EVGA SuperNOVA 850W G3
      • Case:
      • NZXT H210i
      • Operating System:
      • Ubuntu 20.04, Windows 10
      • Monitor(s):
      • LG 34GN850
      • Internet:
      • FIOS

    Re: Please could i have some advice on language to use

    Quote Originally Posted by awm View Post
    Other people's views may differ, but for work I had to write some code in c# and hated it. It kind of gave me the impression that the basics were easy, but things quickly became difficult once one got out the scope of the .NET framework.
    it's infinitely easier to extend .net with "native" libraries than to do so with java. and you can do some pretty complex things if you want to. it'll obviously never win any performance crown compared to tuned C99, but for developing user applications, it's good stuff

  12. #11
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,164
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Please could i have some advice on language to use

    Quote Originally Posted by directhex View Post
    it's infinitely easier to extend .net with "native" libraries than to do so with java. and you can do some pretty complex things if you want to. it'll obviously never win any performance crown compared to tuned C99, but for developing user applications, it's good stuff
    C#'s support for 'nice looking' pinvoke (platform invoke, breaking out of the sandbox) is far beyound anything java has (even the MS extentions which resulted in the sun lawsuit). Not too mention you can always have a CLI/C++ (not to be confused with C++.net) file if need be, this allows FULL control over the VM, with no restrictions. Think of C# as a lady in a bikini, and cli++ as a completley naked lady.

    Can you tell i've had a couple of beers tonight but no sex in 2 n a bit months?
    throw new ArgumentException (String, String, Exception)

  13. Received thanks from:

    kasavien (17-12-2007)

  14. #12
    HEXUS.social member finlay666's Avatar
    Join Date
    Aug 2006
    Location
    Newcastle
    Posts
    8,546
    Thanks
    297
    Thanked
    894 times in 535 posts
    • finlay666's system
      • CPU:
      • 3570k
      • Memory:
      • 16gb
      • Graphics card(s):
      • 6950 2gb
      • Case:
      • Fractal R3
      • Operating System:
      • Windows 8
      • Monitor(s):
      • U2713HM and V222H
      • Internet:
      • cable

    Re: Please could i have some advice on language to use

    Quote Originally Posted by directhex View Post
    c#

    it'll run on mac, via mono
    2nded

    One of the C family languages would be best IMO, and you could do a lot worse than C#
    H3XU5 Social FAQ
    Quote Originally Posted by tiggerai View Post
    I do like a bit of hot crumpet

  15. #13
    Senior Member kasavien's Avatar
    Join Date
    Aug 2005
    Location
    St. Albans
    Posts
    1,829
    Thanks
    145
    Thanked
    104 times in 49 posts

    Re: Please could i have some advice on language to use

    Thanks people, i think my tutor will be pleased that there's a language i'll be comfortable developing in and something that has the potential to run on apple software.

    Thanks again

    Andy

  16. #14
    Senior Member
    Join Date
    Sep 2006
    Location
    Cheltenham
    Posts
    269
    Thanks
    1
    Thanked
    8 times in 8 posts
    • Rishi's system
      • Motherboard:
      • Asus P5B
      • CPU:
      • Intel E6600 2.4Ghz
      • Memory:
      • Corsair 2GB - PC6400
      • Storage:
      • 1 x 250GB Maxtor 16MB Cache
      • Graphics card(s):
      • None :(
      • PSU:
      • hmmm :/
      • Case:
      • Black - Standard
      • Monitor(s):
      • 19" TFT 8ms
      • Internet:
      • Orange (I think!)

    Re: Please could i have some advice on language to use

    Java = crap.

    C#.net will do the job nicely, easy to learn and plenty of info/help.

    Visual Studio 2008 is out now I think - might be worth checking it out to see if you there are any more features that can help you
    .: Rishi :.

  17. #15
    Chillie in here j.o.s.h.1408's Avatar
    Join Date
    Dec 2005
    Location
    a place called home
    Posts
    8,543
    Thanks
    757
    Thanked
    256 times in 193 posts
    • j.o.s.h.1408's system
      • Motherboard:
      • ASUS P6T Delux
      • CPU:
      • Intel core i7 920 @ 3ghz
      • Memory:
      • 3GB DDR RAM
      • Storage:
      • 1TB Samsung F1, 500GB Seagate baracuda + 320gb Seagate PATA +150GB WD PATA
      • Graphics card(s):
      • EVGA 480GTX SC edition
      • PSU:
      • Seasonic M12 600W Module PSU FTW
      • Case:
      • Lian Li PC-A7010B (the rolls royce of pc cases)
      • Operating System:
      • vista ultimate edition and windows xp
      • Monitor(s):
      • 22inch 2005FPW dell monitor
      • Internet:
      • 24mb BE There Broadband

    Re: Please could i have some advice on language to use

    Quote Originally Posted by Rishi View Post
    Java = crap.

    C#.net will do the job nicely, easy to learn and plenty of info/help.

    Visual Studio 2008 is out now I think - might be worth checking it out to see if you there are any more features that can help you
    java is not crap, c# is a blatent rip off of Java. can you run c# stuff without doing any special stuff on it? dont think so but with java as soon as u compile the app in any OS it will wrok and run in other OS without having to add special libraries or recompiling it to work on different environments

  18. #16
    Seething Cauldron of Hatred TheAnimus's Avatar
    Join Date
    Aug 2005
    Posts
    17,164
    Thanks
    803
    Thanked
    2,152 times in 1,408 posts

    Re: Please could i have some advice on language to use

    Quote Originally Posted by j.o.s.h.1408 View Post
    java is not crap, c# is a blatent rip off of Java. can you run c# stuff without doing any special stuff on it? dont think so but with java as soon as u compile the app in any OS it will wrok and run in other OS without having to add special libraries or recompiling it to work on different environments
    Sun, how long have you actually been programing? How old are you? Whats you're IQ?

    If you're upto half mine on any of those metrics, I'm flabberghasted.

    Java started life as Oak. Oak was a blatent rip of C++, and the insperation hardly stops there.

    C# is actually C++++ (or C incremented, incremented) the 4 +'s are a # sign.

    C# also was designed by 'the man' behind Delphi.

    So whilst its familar to java, it doesn't run very deap. For example events.

    As for running .Net anywhere. Actually yes. This is because C# and .Net are ECMA controlled standards (this is why a friend has a delightful shirt "C#, I've upped my standards, up yours".) anyone can implement the IL (bytecode) on anything.

    Don't confuse the platform specific .Net frameworks, with the .Net CLR, or the assumption that such platform specific frameworks are a bad thing. (enless your saying that one platform is better at EVERYTHING how could they be bad?)
    throw new ArgumentException (String, String, Exception)

Page 1 of 2 12 LastLast

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Need Advice on Building a New PC
    By Andaho in forum PC Hardware and Components
    Replies: 53
    Last Post: 27-07-2007, 09:12 AM
  2. Spec me a language... (Norwegian?!)
    By Jonny in forum General Discussion
    Replies: 41
    Last Post: 16-02-2007, 12:47 AM
  3. Price check and upgrade advice pls?
    By chriswood_7 in forum PC Hardware and Components
    Replies: 5
    Last Post: 19-01-2007, 12:40 AM
  4. Advice, advice, advice - please! =]
    By ytrebil in forum PC Hardware and Components
    Replies: 0
    Last Post: 01-06-2005, 03:04 PM
  5. Replies: 4
    Last Post: 04-08-2004, 02:30 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •