Skocz do zawartości

Programista front-end, zmiana branży


Macko_da_Gama

Pomocna odpowiedź

@Otar, bardzo ciekawa wypowiedź, mnie również zawsze interesowało, czy Arduino (nawet nie samą płytkę, ponieważ wiadomo, że służy prototypom), ale oprogramowanie samo w sobie jest używane w komercyjnych projektach 🙂 Słyszałem również o sterowniku https://www.controllino.biz/ (z góry ostrzegam, że ceny zaporowe), ale oznacza to, że w Arduino jest (a przynajmniej ktoś podjął taką próbę) używane w automatyzacji prostych procesów przemysłowych. Z ciekawości, mógłbyś podać jakieś praktyczne przykłady, gdzie Arduino może zostać wykorzystane "w firmie" (nawet teoretyczne)? Oraz, dlaczego np. firma decyduje się na pisanie "własnej" aplikacji do zarządzania magazynem (właśnie, jaki język?) a nie wykorzystanie dedykowanej? Pozdrawiam 🙂

Link do komentarza
Share on other sites

@wn2001 , tak naprawdę możesz użyć arduino do wszystkiego co tylko będzie mieć przełożenie na wynik. W magazynie można użyć do systemu taśm, gdzie towar jest pakowany na stanowisku pakowaczy. Można później etykietę rozpoznawać i kierować paczkę do odpowiedniego miejsca, gdzie np. przesyłki międzynarodowe idą innym transportem.
Wiele tego jest. Wszystko w zależności od tego, co już jest zastosowane. Na produkcji większe pole do popisu. U mnie są maszyny, które wiązkami lasera znakują towar logiem klienta. 
Można zastosować do podajników, wprowadzić czujniki światła, czy zapylenia. 

Jeśli chodzi o programy magazynowe, produkcyjne, czy cały ERP, to są 4 rozwiązania, ale tylko 3 realnie wykorzystywane.
Można kupić licencje do jakiegoś programu WMS. Jednak jest to oprogramowanie ogólne, nie koncentrujące się na konkretnej branży, ale starającej się swoim działaniem objąć jak największą ich ilość. Minusem tego jest to, że nie ma często czegoś co potrzebujemy, albo jest to rozwiązane w sposób nie taki jaki chcielibyśmy. Wtedy pozostaje nam się naginać i dostosowywać, albo przejść do drugiego rozwiązania, czyli własnej modyfikacji takiego oprogramowania. 
Bardzo często producenci oprogramowania dają możliwość swoim klientom na pisanie własnych pluginów, albo przyjmują zlecenie i sami takie piszą pod swój system.
Jest też możliwość pisania programów, czy skryptów poza całym ich programem, przy używaniu is interfejsu API. To daje dużo większą kontrolę nad wszystkim i znacznie ułatwia pracę.

Trzecie rozwiązanie, to napisanie własnego programu np. magazynowego. Jednakże to takie wynajdywanie koła na nowo, chyba, że specyfika branży jest taka, że nie można poprawnie używać dostępnym na rynku programów. Bardzo często jest tak, przy programach produkcyjnych, gdzie produkcja opiera się na "edycji" gotowego wyrobu, np. znakowanie.
Ogromnym minusem jest to, że tworząc takie oprogramowanie samemu, zostajemy "wchłonięci" do obsługi i rozwijania tego programu, pozbawiając się możliwości tworzenia czegoś nowego - braknie na to czasu. Dodatkowo trzeba pamiętać o zmieniających się często przepisach i zmianach w obsłudze programu - bardzo często przy magazynowych.

Ostatnie rozwiązanie bardzo rzadko spotykane, to zlecanie komuś napisanie programu przez inne podmioty. Minus jest taki, że gdy takowa firma przestanie się tym produktem interesować, bo np. upadnie, etc. to zostajemy z często zamkniętym oprogramowaniem. Jeśli jednak otwarte, to musi być pozostawiona dobra dokumentacja i kod napisany naprawdę dobrze. Inaczej jest to bubel, który spowoduje ogromne problemy.

Najczęściej wszystkie te programy pisane są w C#. Te najbardziej rozbudowane, które chcą podbijać branże magazynowe i produkcyjne, to pisane są w C++ ze względu na prostotę w serwisowaniu na linuxowych maszynach.
Teraz, gdy Microsoft się otwiera bardziej, raczej C++ będzie wypierany na rzecz C#.

Są oczywiście jeszcze same webowe serwisy magazynowe, ale raczej słabe rozwinięcie CRMów.

Edytowano przez Otar
  • Pomogłeś! 1
Link do komentarza
Share on other sites

7 godzin temu, Otar napisał:

Najczęściej wszystkie te programy pisane są w C#. Te najbardziej rozbudowane, które chcą podbijać branże magazynowe i produkcyjne, to pisane są w C++ ze względu na prostotę w serwisowaniu na linuxowych maszynach.
Teraz, gdy Microsoft się otwiera bardziej, raczej C++ będzie wypierany na rzecz C#.

Dlaczego C++ a nie po prostu JAVA?

Link do komentarza
Share on other sites

18 minut temu, Harnas napisał:

Dlaczego C++ a nie po prostu JAVA?

Bo to uzależnienie od jeszcze jednego gracza (Oracle) - zresztą dość niebezpiecznego, bo już pokazał że potrafi zamknąć projekty które mu się nie podobają (czytaj: nie przynoszą bezpośredniego zysku). O ile Orca i Gnome były jeszcze za czasów Suna otwartoźródłowe i dzisiaj mają się zupełnie dobrze, o ile MySQL-em zajęli się sami deweloperzy tworząc otwartoźródłowy fork - o tyle Java nie ma szans.

Zresztą - Java jako taka powoli się kończy. Przeżywała swój boom jako język apletów do przeglądarki, dzisiaj o takim zastosowaniu już nikt nie pamięta. Poza tym trzeba pamiętać, że jest to jednak język interpretowany i wymagania pamięciowe wirtualnej maszyny Javy są nieporównywalnie wyższe niż programu w C++ skompilowanego na docelowy system. O szybkości działania już nie mówię...

A i wieloplatformowość Javy traci również znaczenie. Otwarcie (przynajmniej częściowe) Mono pozwoliło na uruchamianie programów pisanych w C# na różnych platformach. Dzięki temu Java przestała mieć jakiekolwiek plusy w porównaniu do innych języków.

Tak przy okazji: Java a nie JAVA, nie musisz krzyczeć.

  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dodam tylko do tego co wpisał ethanak, że przy tego typu projektach nie opłaca się pisać w javie z prostego względu, zespół developerów musi potrafić ogarnąć aplikację desktopową - client, serwerową, a także urządzenia typu kolektor. Nie opłaca się mieć odrębnego zespołu pod javę, a samą javą nie ogarnie się wszystkich tematów. Pamiętajmy, że nie każdy sprzęt kolektorowy ma super osiągi, więc C, czy C++ wiedzie tu prym.

  • Lubię! 1
Link do komentarza
Share on other sites

1 godzinę temu, ethanak napisał:

Poza tym trzeba pamiętać, że jest to jednak język interpretowany i wymagania pamięciowe wirtualnej maszyny Javy są nieporównywalnie wyższe niż programu w C++ skompilowanego na docelowy system. O szybkości działania już nie mówię...

Wolny i pamięciożerny program da się napisać w każdym języku.

Link do komentarza
Share on other sites

Dnia 18.04.2020 o 22:32, ethanak napisał:

Ale nie w każdym się da napisać szybki i nie wymagający zbyt wielu zasobów.

To prawda, nie wyobrażam sobie napisania czegokolwiek złożonego w asemblerze czy C tak, aby było szybkie i wydajne. Ale jak ktoś tylko miga diodą, to te języki mogą się wydawać idealne.

  • Lubię! 1
Link do komentarza
Share on other sites

Trzeba jeszcze sobie powiedzieć szczerze, że oprogramowanie napisane jest w C++ jest stabilniejsze i bardziej przewidywalne, niż te które są pisane w Javie. 
Dlatego właśnie w telewizorach, czy samochodach tak bardzo dominuje C lub C++. Tam się koszty sprzętu tnie do absolutnego minimum i nadrabia to dobrym kodem.
Kontrola nad sprzętem musi być maksymalna, tak jak maksymalna będzie przewidywalność działania, a nie, że nagle Java sobie postanowi, że teraz będzie zwalniała pamięć i przyblokuje nam zasoby,

C++ był moim pierwszym poważnym językiem, gdy skończyłem zabawę z Turbo Pascalem 🙂 
Na co dzień nie używam go już od wielu lat, ale już niedługo do niego wrócę, gdy będę pisał moduły do Pythona 🙂

Cały czas chciałem do niego wrócić, ale do żadnego projektu, który realizowałem, nie był mi potrzebny. 

  • Lubię! 1
Link do komentarza
Share on other sites

@deshipu Z ciekawości: pisujesz moduły do Pythona w Javie czy w czym? Szczególnie takie, które korzystają z bibliotek C?

Ja rozumiem, że prawdziwi twardziele przepisują np. libpq na pure pythona... ale normalni ludzie jeśli mają do dyspozycji bibliotekę, która jest dobrze udokumentowana i dokładnie przetestowana z takowej korzystają.

No, może oprócz Chucka Norrisa...

Link do komentarza
Share on other sites

1 godzinę temu, ethanak napisał:

Z ciekawości: pisujesz moduły do Pythona w Javie czy w czym?

Używam bibliotek które już są napisane, zoptymalizowane i udokumentowane. Jakoś nie czuję przymusu żeby pisać własnego quicksorta w assemblerze za każdym razem kiedy mam coś posortować. No ale jak sam piszesz, nie jestem Chuckiem Norrisem.

Link do komentarza
Share on other sites

1 minutę temu, deshipu napisał:

Używam bibliotek które już są napisane, zoptymalizowane i udokumentowane.

Zobacz - to zupełnie jak ja... pozostaje tylko podłączyć taką bibliotekę do Pythona 😉

Co prawda czasem mi się zdarza napisać swoja bibliotekę, ale tak się przecież nie robi, trzeba zaczekać aż ktoś inny to napisze, zoptymalizuje i udokumentuje, prawda?

Link do komentarza
Share on other sites

19 godzin temu, ethanak napisał:

Co prawda czasem mi się zdarza napisać swoja bibliotekę

A utrzymujesz ją potem? Ile takich bibliotek potrafisz utrzymywać jednocześnie? Jaki procent twojego czasu pracy marnujesz na to? Czy może twoje programy nie wymagają utrzymania bo od razu są idealne?

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.