자바의 한계와 개선 필요 사항
자바의 안정성과 생산성 아래 모두는 평등합니다. 가독성조차
자바를 선택했다면 효율성 따질 시간에 스케일업이나 하세요.
자바는 원래 효율성이 중요한 IoT용으로 만들어졌다가 진출에 실패했습니다.
하지만 웹 코인으로 갈아타서 올해 30살이 될 수 있었습니다.
유명한 역사지만 그래도 출처는 요기
자바는 우리가 최소 밥은 먹고 살도록 해주는 훌륭한 언어입니다.
그리고 간헐적으로 혈압을 올려줌으로써 저혈압 환자에게 좋습니다.
작성자의 혈압이 오를때마다 글 내용이 추가될 수 있습니다.
unsigned 타입의 부재
"자바 개발자는 내부 원리같은거 알 필요 없음"
연산자 오버로딩 불가
"자바는 왜 C++처럼 연산자 오버 로딩 지원 안함?"
"그건 자바 철학임. C++ 개발자들이 남발하길래 빼버림."
"String은 + 연산자 지원하잖아?"
"그건 오버로딩 아님"
"엥 그럼 뭔데"
"StringBuilder 치환 문법임"
"Integer끼리 연산자 써지는건?"
"그건 autoboxing 때문인데요"
자바의 철학 (a.k.a 고슬링 취향)
BigInteger a = new BigInteger("2364564564564645645");
BigInteger b = BigInteger.valueOf(2);
BigInteger c = BigInteger.valueOf(3);
BigInteger d = b.multiply(a.add(c));
출처 1: The C Family of Languages: Interview with Dennis Ritchie, Bjarne Stroustrup, and James Gosling
출처 2: milleniumbug/java_rant.txt
원시 자료형 내림차순 정렬 시의 어려움
오름차순은 되는데 내림차순은 API 복잡해져서 만들어주기 싫었어요
어차피 boxing하면
Collections
에서 지원해줌boxing 오버헤드? 싫으면 스케일업하세요
오름차순 정렬하고 O(n)으로 reverse하면 결과 똑같긴 함
O(n) 비용? 싫으면 스케일업하세요
출처: Java SE 8 for the Really Impatient by Cay S. Horstmann