Clojure to język ogólnego przeznaczenia wspierający interaktywne programowanie, który zachęca do funkcjonalnego stylu programowania i upraszcza programowanie wielowątkowe.
W inspirującej myśli Richa Hickeya na konferencji goto „ Wartość wartości ” po 29 minutach mówi o narzutach związanych z językiem takim jak Java i mówi: „Wszystkie te interfejsy zabijają ponowne użycie”. Co on ma na myśli? Czy to prawda? W poszukiwaniu odpowiedzi natknąłem się na: Zasada najmniejszej wiedzy AKA …
Ostatnio przyglądałem się Clojure i natknąłem się na ten post na Stackoverflow, który wskazuje na niektóre projekty zgodne z najlepszymi praktykami i ogólnie dobry kod Clojure. Chciałem opanować język po przeczytaniu kilku podstawowych samouczków, więc przyjrzałem się niektórym projektom z „prawdziwego świata”. Po spojrzeniu na ClojureScript i Compojure (dwa wyżej …
Znalazłem ten cytat w „ Radości Clojure'a ” na str. 32, ale ktoś powiedział mi to samo podczas kolacji w zeszłym tygodniu i słyszałem to także w innych miejscach: [A] wadą programowania obiektowego jest ścisłe powiązanie funkcji i danych. Rozumiem, dlaczego niepotrzebne sprzężenie jest złe w aplikacji. Nie mam też …
Po kilku miesiącach nauki i gry z Lispem, zarówno CL, jak i odrobiną Clojure, nadal nie widzę przekonującego powodu, aby napisać coś w nim zamiast C #. Naprawdę chciałbym mieć jakieś ważne powody lub ktoś, kto zauważyłby, że brakuje mi czegoś naprawdę dużego . Mocne strony Lisp (według moich badań): …
Powiedzmy, że mam poniższą logikę. Jak to napisać w programowaniu funkcjonalnym? public int doSomeCalc(int[] array) { int answer = 0; if(array!=null) { for(int e: array) { answer += e; if(answer == 10) break; if(answer == 150) answer += 100; } } return answer; } Przykłady w większości blogów, artykułów ... …
Clojure nie wykonuje optymalizacji ogona na własną rękę: jeśli masz funkcję rekurencji ogona i chcesz ją zoptymalizować, musisz użyć specjalnej formy recur. Podobnie, jeśli masz dwie wzajemnie rekurencyjne funkcje, możesz je zoptymalizować tylko za pomocą trampoline. Kompilator Scala jest w stanie wykonać TCO dla funkcji rekurencyjnej, ale nie dla dwóch …
W moim zespole pracuję nad aplikacją z clojure (lisp). Zaczyna się jako mała aplikacja. Nie ma problemu. Ale ponieważ ma funkcje i rozszerza obszar, staje się ważnym programem. Martwiłem się o konserwację czy coś takiego. Nikt w moim zespole nie zna clojure ani seplenienia, ani nie interesuje się takimi językami …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było na temat wymiany oprogramowania w inżynierii oprogramowania. Zamknięte 8 lat temu . Wiele osób mądrzejszych ode mnie pisze o tym, kiedy uczysz się Lisp, dzięki czemu jesteś lepszym programistą, ponieważ …
Dlaczego społeczność Lisp woli gromadzić wszystkie nawiasy na końcu funkcji: (defn defer-expensive [cheap expensive] (if-let [good-enough (force cheap)] good-enough (force expensive))) Dlaczego nie zastosować konwencji takiej jak C lub Java? No cóż, Lisp jest znacznie starszy od tych języków, ale mówię o współczesnych Lispersach. (defn defer-expensive [cheap expensive] (if-let [good-enough …
Obecnie wysyłam komputerową aplikację Java. Jest to zwykła stara aplikacja Java / Swing Java 5 i do tej pory wszystko działało ładnie. Java 5 została zaatakowana, ponieważ niektórzy użytkownicy korzystali z wersji OS X / komputerów, które nigdy nie będą miały Java 6 (możemy wkrótce znieść to ograniczenie i przejść …
Języki funkcjonalne z definicji nie powinny utrzymywać zmiennych stanu. Dlaczego zatem Haskell, Clojure i inni udostępniają implementacje programowej pamięci transakcyjnej (STM)? Czy istnieje konflikt między dwoma podejściami?
Zacząłem programować w Pythonie i byłem bardzo zdezorientowany takimi pojęciami, jak coroutines i closures. Teraz myślę, że znam ich na jakimś powierzchownym poziomie, ale nigdy nie czułem tego momentu „oświecenia”, więc wybrałem naukę Clojure. Kupiłem książkę Stuarta Hallowaya i jest dobra, ale kiedy spojrzałam na indeks, nie było słów takich …
Komentowanie jest dziś łatwiejsze niż kiedykolwiek. W Javie istnieje kilka fajnych technik łączenia komentarzy z klasami, a środowiska IDE Java są dobre w tworzeniu powłok komentarzy. Języki takie jak Clojure pozwalają nawet dodać opis funkcji w samym kodzie funkcji jako argument. Jednak wciąż żyjemy w czasach, w których często są …
W tym filmie Richa Hickeya , twórcy Clojure, zaleca się używanie mapy do reprezentowania danych zamiast używania klasy do ich reprezentowania, jak ma to miejsce w Javie. Nie rozumiem, jak może być lepiej, skoro użytkownik interfejsu API może wiedzieć, jakie są klucze wejściowe, jeśli są po prostu reprezentowane jako mapy. …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.