게임코디 게임코디 연구소 GCGC 프로카데미 교육센터   회원가입 회원등급 실무자 인증 공지사항 RSS
게임프로그래머 만담 커뮤니티 베타게시판 :   지금은 개발중  |             |   무리수 건의함  |  이미지 HDD  |
게임개발자 실시간 만담
   로그인이 안돼요 자동 로그인


새로운 댓글
  안녕 ~ 게임코디 ㅋㅋ
  막아야 하는데 귀찮아...
  답글은 달고 봅니다 ㅋ...
  ㅋㅋㅋㅋㅋㅋ 이러지 ...
  이러지 마십쇼 아직 작...
  아 포인트는 어제 19시...
  두구두구두구두구....
  오!
  누군가 전염병주식회사...
  앗 아앗...
  16200원
  삼성전자우KODEX200KO...
  오오 마토찡의 게임
  되는걸로 알고있습니다...
  코스피 1680찍고 말...
  2019버전이긴 한데, ...
  흠... 과연
  올해만 버티시고5기가/...
  호우 감사함돠
  답변들 감사합니다. dl...
  .....
  비쥬얼이 재미있어보이...
  글로벌 판데믹으로 변...
  해외 직구 배송비 포함...
  ㅎㅎ 그런가요? 감사합...
  아... 사놓을걸...미...
  저도 유투브 보다가 이...
  마감되었습니다. 감사합...
  외부로부터 의도하지 ...
  쩐이 없는거 같어요총...

# 여기는 읽기 전용의 구 '게임코디 1st' 입니다

# 우리는 이제 게임코디 2nd 로 갑니다. https://gamecodi.com

게임 프로그래머의 만담은 새로운 '게임코디 2nd' 에서 진행됩니다.

개발만담 - 개발,업무,우리의 밥벌이와 관련된 만담 게시판.

Loading...
[질문] 안드로이드 개발을 좀 해보고 싶은데 어떤 언어를 택하는게 나을까요?
  수잔™ 
작성 : 2019-10-09 05:15:19    |    조회 : 2,168
            
  

최근 보니 안드로이드 공식 언어로 코틀린이 되었던데 코틀린으로 바로 하면 될까요?

지금은 C# 닷넷 개발자로 일하고 있고 자바는 학교에서 배워서 기본 정도만 할줄 압니다.

이러던 중에 안드로이드 개발을 좀 해보고 싶은데 바로 코틀린으로 가는게 나을까요? 아님 자바를 조금더 깊게 알고 

코틀린으로 가는게 나을까요?



  
언제나초보


자바를 먼저 하시고 코틀린은 나중에 관심 생기면 하세요.

제가 요즘 코틀린을 공부 하고 있는데, 문법이 아주 더럽습니다.
자기들 딴에는 축약되고 간결한 문법이라고 하는데, 전혀 아닙니다.

비슷한게 생긴 문법이 전혀 다른 의미로 사용되는 경우가 많은데,
해당 문법이 무엇인지 파악하기가 아주 힘듭니다.

일예로 함수의 마지막 파라메터가 함수타입이면, 그 함수 호출문 뒤에 중괄호를 넣고
바로 Lambda 함수를 정의 하여 파라메터로 넘길수 있는데, 이 형태가 그냥 보기에는 그냥 함수 정의와 비슷해 보입니다.

함수 정의인가 했더니 사실은 익명함수를 파라메터로 만들어서 인자로 넘기는 코드인 것이죠.

또, 상속과 constructor 의 위치가 비슷한 곳에 와서 이게 상속을 하는건지 constructor 선언을 한건지 햇갈리죠.

이건 약과에 불과하고 C#처럼 boiler plate 키워드를 마구 만들어서 이걸 언제 사용해야 하는지 자세히 숙지해야 합니다.

개인적으로 java 가 훨씬 깔끔한 문법이고 직관적인 문법을 가지고 있다고 봅니다.

프로그래밍 언어적인 측면에서 kotlin 은 근래 나온 언어들중 최악 입니다.
2019-10-09
07:28:27

  
언제나초보


댓글 쓰다보니 열받네요.

initializer 정의도 거지같이 해놔서 이게 함수 호출후 리턴값을 저장하는건지 그 함수 자체를 정의하는건지 햇갈리게 해놨습니다.

코틀린을 제대로 쓸려면 577 페이지 짜리 영어로 된 코틀린 언어 메뉴얼을 아주 자세히 정독해야 가능합니다.

파이썬처럼 대충 이런 기능이겠거니 하고 감으로 때려맞춰서 쓰는게 절대 불가능한 언어라고 보시면 됩니다.

와... 오늘 코틀린 개발자한테 욕메일 보내려고 했는데 참습니다.
2019-10-09
07:48:31

  
장찌루


** 작성자(또는 관리자)에 의해 삭제된 댓글입니다 **
2019-10-09
09:11:22

  
흐흐


c# 개발자하고 하시니 자바는 금방 짜실듯한데
2019-10-09
14:13:25

  
Ruby사랑


이제는 코틀린으로 바로 가는게 좋다고 생각합니다.
2019-10-09
15:13:04

  
장찌루


구글링좀 하다보니까..

안드로이드는 코틀린으로 갈아탄 것 같네요;;

일단 튜토리얼 하는 느낌으로 안드로이드 스튜디오 + 자바로 간단하게 앱 하나 만들어보시고..

이후에 코틀린으로 해보시는게 어떨까 싶습니다~
2019-10-09
17:40:19

  
수잔™


아 아직도 자바를 먼저 하라는 의견들이 많으시네요. 감사합니다. 우선 자바부터 해봐야 겠네요.

답변들을 보니 코틀린 별론가 보네요 ㅠㅠ

살짝 기대 했었는데;;;;
2019-10-09
23:47:26

  
언제나초보


현재 코틀린의 가장 큰 문제점은 저 문법 축약이 너무 많다는 점 입니다.
이게 양날의 검인데, 일단 익숙해 지면 아주 편할 것 같은 기능들 입니다.

그런데 초보자가 배우기엔 문법 축약 때문에 러닝커브가 아주 가파릅니다.
코틀린 라이브러리 소스를 보면 거의 암호수준입니다.

비슷비슷하게 생겨서 도대체 무슨 기능인지 감도 안잡힙니다.
stackoverflow 에서 검색해보면 이게 무슨 문법이냐고 물어보는 사람들이 아주 많습니다.
galleryViewModel.text.observe(this, Observer {
textView.text = it
})
예를 들면 위에 Observer 뒤에 중괄호 열고 뭔가 코드가 들어 있는데, 이게 무슨 문법인지 전혀 감이 안와서 한참 검색해 보고 겨우 알았습니다. 
SAM Conversion 이라는 기능인데, interface를 instantiation 할 경우 위와 같이 써주면 중괄호 안의 내용이 자동으로 멤버 함수의 몸체가 되도록 만들어 주는 기능입니다.

사실 위의 예제도 한번 더 축약이 된 형태입니다.
풀어서 써보면 실제로는 아래와 같은 내용이죠.
galleryViewModel.text.observe(this, Observer {
it :String -> textView.text = it
})
Observer 안에는 onChanged(T t) 라는 템플릿 함수 선언이 있고, 위의 lambda 함수 코드가 onChanged 의 몸체가 되는 것입니다.

타이핑 몇번 줄이자고 가독성을 저렇게 망쳐놓으니 절대 좋은 언어라고 생각이 들지 않더군요.
젯브레인에서 자랑하는 자동완성 기능이 훌륭해서 대부분의 java 코드는 자동으로 생성되는데 굳이 저런 망할 축약 표현을 쑤셔넣은 언어를 구글 공식언어로 지정한건 완전 실수라고 생각 합니다.
 3   
2019-10-10
06:21:30
  
AxNoah


ㄴ 와; 이건 좀;
2019-10-10
15:18:40

  
뎐삼


젯브레인 짱짱맨... 진짜
2019-10-10
15:20:03

  
제오


Kotlin은 모르지만, 위쪽 언제나초보님 댓글의 샘플 코드에서 Observer라는 interface 이름도 생략이 가능한 게 아닐까... 하는 생각이 드네요. argument type이 Observer interface일테니까요.
Java에도 functional interface란 게 있어서 비슷하게 축약이 되는데요, functional programming이 추세가 되는 과정에서 나오는 문법들이니 그러려니 하고 익숙해져 보는 것도 괜찮을 것 같아요.
2019-10-12
11:20:11

  
언제나초보


** 작성자(또는 관리자)에 의해 삭제된 댓글입니다 **
2019-10-13
11:36:18



목록보기  |  
SORT :: |  번호순  |  최근댓글  | HIT
4874
Allright Rig 써보신분 있나요?  [2]   
  참스
19/11/06 835
4873
블렌더 2.81 좋네요  [5]   
  뎐삼
19/11/06 1273
4872
[질문] 게임 벨런스 관련 책 추천좀해주세요!  [2]   
  perpet
19/11/05 941
4871
자체엔진을 쓰는건 어떤 이점이 있나요??  [14]   
  뉴월드
19/11/03 3682
4870
밑에 웹 질문한 늅입니다  [3]   
  Kabel
19/10/25 1020
4869
웹 관련 질문입니다  [4]   
  Kabel
19/10/23 1601
4868
안녕하세요 어플개발에대해서 궁금한게 있어서 질문드립니다.  [5]   
  김김김
19/10/23 1167
4867
좋은 말씀 전하러 왔습니다.  [9]   
  아이아빠
19/10/23 1504
4866
야나두 레벨테스트 돌려보신분??  [6]   
  뎐삼
19/10/22 1582
4865
인프라팀이 개발팀에게 바라는 몇가지     
  드럼라인
19/10/16 1287
4864
OS ‘윈도 독점 깨기’ 나선 정부  [12]   
  뎐삼
19/10/15 1815
4863
C++ 11, 14, 17, 20 에 추가된 문법 목록  [11]   
  언제나초보
19/10/14 4840
4862
Effective 시리즈 같은 JavaScript 책 추천 부탁드립니다.  [3]   
  Hopeness
19/10/14 1054
4861
드래곤볼 제노버스2 vs 파이터Z  [1]   
  뎐삼
19/10/13 883
4860
블리자드 새 사명: 🇨🇳동풍오락 유한공사 (冬風...  [13]   
  노코드
19/10/11 1917
4859
websocekt 서버 구성해 보았습니다.  [8]   
  아이아빠
19/10/10 1398
[질문] 안드로이드 개발을 좀 해보고 싶은데 어떤 언어를 택하는게 나을까요...  [10]   
  수잔™
19/10/09 2168
4857
xpress engine이고뭐고.. 다 망해버렸나봐요  [6]   
  noname
19/10/07 1295
4856
유니티 텍스트 메쉬 프로에 대한 사용법 간략 정리  [15]   
  루트군
19/10/04 12607
4855
수학 공부좀 다시 해야겠네요  [4]   
  Vermond
19/10/04 1437
4854
Cordova 좀 아시는 분 있나요?  [5]   
  Vermond
19/10/01 1266
4853
아이펀팩토리 데브데이 게임 서버 개발 워크숍 (마감임박)  [2]   
  게임코디
19/10/01 865
4852
루비 좋아하시는 분들은 안계신가요?  [14]   
  Ruby사랑
19/09/27 1540
4851
젠킨스 구축중인데 도움좀 주세요ㅠ  [8]   
  놔라숑키야
19/09/26 2036
4850
과제로 게임을 개발하려고 하는 미대생인데요.  [12]   
  미대생
19/09/25 1797
4849
유니티에서는 더블클릭과 롱클릭을 직접 구현해야 하는군요  [12]   
  Vermond
19/09/23 3183
4848
ios 13 rootViewController crash or missing  [3]   
  뎐삼
19/09/23 902
4847
유니티 아이템 거래 구현하는 강좌가 있을까요??  [2]   
  도트
19/09/21 1339
4846
구글링을 잘 하지 못하면 프로그래머가 되기 힘들까요?  [10]   
  로얄스프레이
19/09/19 2251
4845
C++ Korea 제6회 세미나 - "종합 선물 세트 제2호"  [3]   
  유틸
19/09/18 1117
4844
국내외 웹서비스 가격에 대해서  [5]   
  noname
19/09/18 851
4843
[질문] 서버와 DB에서 저장? 하는 정보에 대해 너무너무 궁금합니다.  [6]   
  파이파이
19/09/17 1683
4842
c++을 *진짜로* 마스터 하는데 필요한 시간은?  [6]   
  노코드
19/09/17 2589
4841
아이펀팩토리 데브데이 게임 서버 개발 워크숍  [5]   
  게임코디
19/09/16 984
4840
[펌] 엔지니어가 가장 선호하는 개발언어 1위는 파이썬.. (댓글 폭소 주의 ...  [5]   
  깔깔노트
19/09/16 1587


목록보기  |   이전페이지  |   다음페이지  |   [1][2] 3 [4][5][6][7][8][9][10]..[142] [다음 10개]



게임코디 GAMECODI , 게임 프로그래머 만담 커뮤니티

게임코디 소개     |      크라우드펀딩 후원자     |      관리실 연락처     |