Which language(s) should I use?

Cayman / Ca81020a
October 21, 2010 at 18:40:19
Specs: Windows 2000, 664 MHz / 190 MB
It's probably been asked a billion times before but I've got a more specific question:
I'm a total amateur in programming, to begin with ;)
I need to write an educational program for the following purposes:
- Putting a collection of lengthy books in one software. Maybe, they can be sorted out by subject, you click the book's title (along with some description) and the book opens..that kind of thing). it would be awesome if mutiple books can be opened at the same time.
- Displaying Images along with text and possibly audio. The Images and accompanied text can change manually or after a set period of time. (Maybe like a PowerPoint presentation)
- Allowing different counting animations...like making an interactive abacus or something similar.
- Making something like an almanac, and also a calendar. the start screen should be able to be relevant according to the date. (so maybe a new year screen and a thanksgiving screen).
- Displaying different versions of the same book in parallel. Also, allowing me to put books and their commentaries or aids in parallel for each passage.
- Allowing future additions to the texts, 9like replacing a first edition with a second edition)
- Support for non-English languages like Greek, Hindi and Russian.
- A pop-up reminder thingy that runs at scheduled times. Something like a pop from the system tray when it is exactly sunrise in Berlin, a pop up showing that it is the moon will be visible at such and such time and so on. (That kind of info is put in almanacs)
- Allowing notes to be taken during study.
- Some sort of 'things to do' list.
to summarize: I need to make an educational software that can store books (as modules?) and allow them to be read, it can also allow books to be displayed with their aids (like commentaries or teacher's notes} parallel to the relevant lines of the original book. The books can also be in non-Latin script. there can be cross-referencing, a search tool to find specific words or phrases or even topics in the books, and the ability to write and save study notes. In another section, it can displays images along with text and possibly audio in a certain pattern and the visual can be changed either manually or the program can be set to change the visual automatically. In yet another section it can display text and maybe images and audio as well and allow it to be counted in animations. Furthermore, it can send messages to the user in real time following a preset schedule (eg, time for English class at 09:00 AM, and history at 10 and so on), additionally it has a calendar and certain almanacs and it changes the start screen of the program accordingly. it can also be like, for English, lesson 28 on Friday the 24th...so the program will be able to tell what is to be studied on the 24th of Friday. Finally, if you hover the mouse pointer on a certain reference in a book, then 9if the program has that reference's target text, it can display that, for example there a reference for a certain passage from a book 9and the book's paragraphs happened to be numbered) so the reference to book x, paragraph y can be displayed as long as the pointer is hovering on that reference. The interface will be multilingual...in the sense that users will have to chose a language the first time the program starts and later be able to change it.
Having written this program, I will then need to put it on the Internet as a download. I might make light, medium and heavy versions according to size. The software is to be a sort of virtual classroom for home-schoolers of a certain kind.
What I need to know is that which programming language can do all this? Furthermore, since I am totally inexperienced I guess I'll have to begin with learning some kind of 'starter' language so i can then move on towards more advanced and complexed languages that can handle the sort of things I want to do. I've read that python and Visual Basic are good for beginners and then java and C/C++/C# come in handy. Since I'm the creative and not the logical type, I don't think I can handle anything like Assembly language. So my question (finally) is that which series of languages should I learn to be able to make a program as described above and which language should be THE language in which I should write the above-mentioned program in?
I know, I've been awfully long and confusing but if you can make any sense out of this, kindly do help me.

See More: Which language(s) should I use?

Report •

October 21, 2010 at 23:57:40

Report •

October 22, 2010 at 06:28:59
Since I'm the creative and not the logical type, I don't think I can handle anything like Assembly language.
If this is for some sort of job, you might want to hire a programmer. If this is a new hobby or a side project, then you'll have to know (or learn) what's wrong with the command, "Compare two strings."

As for which languages you should use, you'll need something with a GUI focus. I'd suggest C# or VB.NET, partly because Visual Studio is one of the best IDEs I've ever used. Python is also a popular choice, partly because of what it will do for you, and what it demands of you. Microsoft did some work in the past with HTML based "applications." This would allow you to leverage the power of Internet Explorer, assuming you know enough JScript and the DOM to implement what you're going for, but it's also extremely limiting, and I don't know how HTA's behavior has changed since IE 6.

On the topic of what to avoid, I'd suggest avoiding any language where you'll be tripping over yourself just to get the syntax correct, or where discrete errors can cause hard to replicate bugs. This includes assembly, C, C++, and Java. You'll also want to avoid anything without a strong GUI support. If you go the web based languages, you'll also need to learn the DOM, Javascript, and optionally one of the Javascript frameworks out there.

How To Ask Questions The Smart Way

Report •

Related Solutions

Ask Question