Wiem, że takich tematów było już miliony, jeśli nie miliardy albo nawet więcej, jeśli programiści istnieli przed Wielkim Wybuchem, ale chciałbym poruszyć ten temat biorąc pod uwagę moje doświadczenie i potrzeby.
Potrzebuję w miarę elastycznego, a przy tym jak najbardziej wydajnego (oczywiście wydajność działania jest największym priorytetem) języka programowania, który powinienem opanować. Projekt, za który zamierzam się zabrać będzie projektem, który z takimi zagadnieniami, jak projektowanie i tworzenie interfejsu będzie miał niewiele wspólnego. Znajomi programiści wspomnieli o tym, że do jego realizacji będzie przydatna także wiedza o sieciach neuronowych, co wskazuje na to, że komunikacja z odpowiednim silnikiem baz danych też będzie niezbędna.
Będzie to program, który po wpisaniu odpowiedniej frazy będzie wykonywał spore ilości obliczeń (niekoniecznie matematycznych w przenośnym tego słowa znaczeniu), ale nie ma on pracować w interakcji z więcej niż jednym użytkownikiem na raz. Ale chyba nie muszę się rozpisywać na temat specyfikacji tego programu, ze względu na to, że sama fraza "sieci neuronowe" wyjaśnia już stanowczo dużo.
Moje dotychczasowe doświadczenie opiera się o wykorzystanie takich języków, jak Delphi (~2 lata), PHP (~4 lata), JavaScript (bliżej nieokreślony czas użycia). Liczby w nawiasach uwzględniają tylko czas, w którym korzystałem z tych języków w działalności zawodowej. Znam też co-nieco C++, a nawet próbowałem się uczyć Javy, ale stwierdziłem, że w celu realizacji mojego projektu powinienem się skonsultować z szerszym gronem programistów.
Wymagania co prawda już określiłem, ale powtórzę i dodam coś jeszcze: najbardziej zależy mi na wydajności; kolejne wymaganie to elastyczność (chodzi jednocześnie o składnię, jak i przenośność; następnie jak największy udział w rynku. Wydajność - tego chyba nie muszę wyjaśniać, wspominając jedynie, że mój projekt nie ma być aplikacją webową. Elastyczność - elastyczna składnia jest wskazana, ale wiem, że co zbyt elastyczne, to niekoniecznie wydajne, więc to jest drugie miejsce - uwzględniając oczywiście przenośność (chcę uniknąć sytuacji, w której projekt upadnie z powodu przestarzałych bibliotek czy nieodpowiedniego systemu operacyjnego). Udział w rynku wiąże się z tym, że w przyszłości może nastać potrzeba zatrudnienia kogoś do pomocy.
TL;DR?
Liczę na fachowe odpowiedzi i z góry dziękuję.