Programowanie funkcjonalne - czy wiedza o tym pomaga perspektywom pracy? [Zamknięte]

13

Głównym językiem, którego obecnie używam, jest C # i jestem z nim najwygodniejszy. Jednak zacząłem grać w F # i Haskell i naprawdę lubię te języki. Z biegiem czasu chciałbym doskonalić swoje umiejętności w jednym z tych języków, ponieważ korzystanie z nich jest naprawdę fajne (w przeciwieństwie do Ruby, która jest określana mianem „zabawy”, po prostu nie rozumiem, gdzie jest zabawa, ale Robię dygresję ...). Moje pytanie jest skierowane do osób, które zatrudniły / przeprowadziły rozmowy kwalifikacyjne na stanowiska programistyczne (poziom średni / średni): jeśli widzisz funkcjonalny język programowania w CV, czy wpływa to na twoją opinię (pozytywną lub negatywną) na temat tego kandydata?

Moim uzasadnieniem dla wiedzy o programowaniu funkcjonalnym mającym wpływ na widok kandydata jest to, że może on wykazać, że kandydat może dostosować się do różnych metodologii i przyjąć wielowymiarowe podejście do problemów, a nie „to samo stare podejście OO”. (Może to być poza bazą, proszę dać mi znać, jeśli to założenie również jest!)

Jetti
źródło
Kiedy złożyłem podanie na swoją obecną pozycję, włączyłem Lisp do mojego CV, ponieważ korzystałem z niego szeroko podczas programu mojego mistrza. Później mój szef powiedział mi, że po zobaczeniu Lispa od razu umieścił moje CV na „krótkim stosie”. Pomogło mi to więc uzyskać wywiad, chociaż stanowisko nie wymaga żadnej wiedzy na temat programowania funkcjonalnego.
ckb

Odpowiedzi:

12

Byłem ostatnio facetem technicznym pomagającym w wywiadach dla programistów C # / ASP.NET i mogę Wam powiedzieć, że gdyby którykolwiek z nich posługiwał się funkcjonalnymi językami - a nawet czymś wyraźnie usuniętym z ich doświadczenia zawodowego - dałoby im to wyraźny tyk ode mnie. Myślę, że istnieje ogromna korelacja między czerpaniem przyjemności z nauki i zabawą nowymi rzeczami a byciem jednym z wyższych szczebli naturalnie utalentowanych programistów.

Szczególnie w zakresie programowania funkcjonalnego: Myślę, że LINQ jest jednym z najważniejszych dodatków do języka C #, używamy go intensywnie i chociaż nie przychodzi to naturalnie dla wszystkich, nie wyobrażam sobie, aby ktoś z doświadczeniem funkcjonalnym miał trudności z pracą z.

Carson63000
źródło
1
Dobrze wiedzieć! Absolutnie UWIELBIAM LINQ i odkąd uczę się programowania funkcjonalnego, przeszedłem z zapytań podobnych do SQL i przeszedłem do używania wyrażeń Lambda.
Jetti
2
@Jetti - tak, ja też wolę podejście Lambda. Jest też coś w zapytaniach w stylu SQL, które sprawiają, że popełniam klasyczny błąd „= gdzie miałem na myśli ==”, chyba moje palce myślą, że piszą TSQL, a nie C #. :-)
Carson63000,
22

Znajomość paradygmatu funkcjonalnego czyni cię lepszym programistą. Dabbing w językach takich jak Haskell pokazuje, że jesteś zainteresowany posiadaniem więcej niż jednego instrumentu w swoim mentalnym zestawie narzędzi.

To powinno konkretnie zwiększyć twoją atrakcyjność jako najemnika. (Jeśli tak nie jest, nie byłbym zainteresowany pracą w tej firmie).

Frank Shearar
źródło
3

Mój osobisty pogląd (bez doświadczenia w tej sprawie) byłby taki, że zależałoby to od pracy, z którą przeprowadzasz rozmowę kwalifikacyjną, i czy zależy to od posiadania określonego doświadczenia w paradygmacie językowym. Jeśli przeprowadzasz wywiad dla roli Java (lub C # w twoim przypadku), nie zatrudniliby cię do twoich umiejętności programowania funkcjonalnego i vice versa. Jeśli jednak planujesz pełnić rolę programistyczną i możesz programować wiele języków, można to postrzegać jedynie jako dobry znak, tzn. Jesteś dobrym informatykiem z szerokim doświadczeniem.

Richard
źródło
1

Absolutnie. Przemysł prosi teraz programistów F # i jest gotów zapłacić najwyższą cenę. Pamiętaj, że nie różni się to od innych nadchodzących technologii, takich jak LINQ, TPL, Silverlight itp.

Jon Harrop
źródło
4
Czy możesz podać link lub listę firm, które zatrudniają programistów F #? Jedyne, co naprawdę wiem na pewno, to Credit Suisse i to tylko dlatego, że Don Syme umieścił go na swoim blogu.
Jetti