Potrzebuję porady odnośnie języka/technologii, w którym najlepiej zrealizować dany pomysł.
Chciałbym się uczyć hobbystycznie programowania i przy okazji kiedyś zrealizować swój pomysł. Podstawy Javy mam opanowane.
Załóżmy jesteśmy hurtownią drewna. Potrzebujemy uzupełnić zapasy. Robimy listę zapotrzebowania i wysyłamy ją do 30 tartaków, od których dostajemy odpowiedź z cenami drewna. Wiedząc, że ładowność jednej ciężarówki to 24 tony, program sam dobiera ile drewna z jakiego tartaku ma przyjechać by było najekonomiczniej.
Mam pomysł na rozbudowanie jej, gdzie danych będzie znacznie więcej. Chodzi mi głównie o sam aspekt inteligentnego wyboru najtańszej opcji. Jak to zrobić?
we wszystkim, to tylko algorytm który trzeba zaimplementować.
Raczej tu dużo nie ma do sprawdzania.
Zależy też czy uwzględniasz koszt transportu i jak tartaki mają full towaru, to najtańszy i najbliższy tartak równo uwzględniając wybierasz.
A jak tartak nie może w pełni tira wypełnić to musisz wybrać inny, lub ten najtańszy i jakiś najbliższy też tani, jeśli i tak jest tanio, a jak ciągle bierzesz od tego samego i daje radę spełniać twoje oczekiwania surowcowe to spisujecie umowę hurtową i dostajesz po tańszej cenie.
Albo szukasz lepszego kontrahenta, ale to zależy czy tylko robisz fake program czy biznes w prawdziwym życiu.
Jeżeli tartaki mają API do negocjowania/sprawdzania ceny, chcesz uwzględnić koszty transportu, sprawdzając przez API swojego dostawcy paliwa cenę dla siebie oraz przez API Googli planować trasę celem jej optymalizacji (remonty, korki, odległość), to wybrał bym coś co ma narzędzia do integracji. Na pewno odradzał bym coś stylu C++ ponieważ, łatwiej operować na XML czy JSON w Javie, Pythonie czy C# gdzie są do tego liby, oraz można łatwo wygenerować atrapy obiektów odpowiedzialnych za API dla testów. W C++ to zostają testy na atrapach całych serwisów albo pisanie ręczne klas do atrap. Są do tego liby w C++, ale naturalniejsze konstrukcje można zrobić w innych językach, a C++ jest moim zdaniem zbyt niebezpieczny i frywolny dla wspomnianych celów. Ja bym doradzał C#, Java, Pascal, Python. Jeżeli znasz Jave to zrobił bym to w Javie z jakimś minimalnym interfejsem w Swingu. Skup się raczej na opracowaniu algorytmu szukającego optymalnego dostawcę. Zrób go w oderwaniu od metody wprowadzania wtedy można będzie podpiąć API, a jak nie to możesz "emulować" to w postaci klasy dostarczającej np. ceny paliw oraz drewna z bazy danych dla danej daty, a za wprowadzanie tychże odpowiedzialny będzie moduł CRUDowy który w Javie też z łatwością zrobisz.
Python/Django lub Ruby/RoR raczej będzie najprościej.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.