디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

파이썬, 자바, 코틀린 같은 기능 하는 좀 긴 코드 일이 비교앱에서 작성

발명도둑잡기(118.216) 2025.07.06 19:23:21
조회 74 추천 0 댓글 0

좋습니다!
이번에는 Python, Java, Kotlin 세 언어에서 같은 기능을 구현한 긴 코드 예제를 비교해볼게요.

✅ 예제 기능 (실무급 기능)

학생 목록 JSON 파일을 불러옴
평균 점수 계산
60점 이상인 학생만 이름/점수 출력
합격자 목록을 새 JSON 파일로 저장

1. Python (표준 라이브러리 사용)

import json # JSON 불러오기 with open('students.json', 'r') as f: students = json.load(f) # 평균 계산 total = sum(s['score'] for s in students) avg = total / len(students) print(f"Average: {avg:.2f}") # 합격자 추출 및 출력 passed = [s for s in students if s['score'] >= 60] for s in sorted(passed, key=lambda x: x['score'], reverse=True): print(f"{s['name']}: {s['score']}") # JSON 저장 with open('passed.json', 'w') as f: json.dump(passed, f, indent=2)

20줄 미만
✅ 가장 간결하고 빠르게 작성 가능
✅ json, with, list comprehension 등 파이썬 고수준 문법의 힘

2. Java ( + Stream API)

import java.io.*; import java.nio.file.*; import java.util.*; import com.google.gson.*; import com.google.gson.reflect.TypeToken; class Student { String name; int score; } public class Main { public static void main(String[] args) throws IOException { Gson gson = new Gson(); Reader reader = Files.newBufferedReader(Paths.get("students.json")); List<Student> students = gson.fromJson(reader, new TypeToken<List<Student>>(){}.getType()); reader.close(); double avg = students.stream().mapToInt(s -> s.score).average().orElse(0); System.out.printf("Average: %.2f\n", avg); List<Student> passed = students.stream() .filter(s -> s.score >= 60) .sorted((a, b) -> b.score - a.score) .toList(); for (Student s : passed) System.out.println(s.name + ": " + s.score); Writer writer = Files.newBufferedWriter(Paths.get("passed.json")); gson.toJson(passed, writer); writer.close(); } }

30~35줄 이상 + import 필요
❗ 클래스 정의 + 파일 처리 + JSON 파싱 = 매우 장황
❗ 외부 라이브러리 (Gson 등) 필요

3. Kotlin (자바보다 간결한 JVM 언어)

import com.google.gson.Gson import com.google.gson.reflect.TypeToken import java.io.File data class Student(val name: String, val score: Int) fun main() { val gson = Gson() val json = File("students.json").readText() val type = : TypeToken<List<Student>>() {}.type val students: List<Student> = gson.fromJson(json, type) val avg = students.map { it.score }.average() println("Average: %.2f".format(avg)) val passed = students.filter { it.score >= 60 }.sortedByDescending { it.score } passed.forEach { println("${it.name}: ${it.score}") } File("passed.json").writeText(gson.toJson(passed)) }

20줄 정도
✅ Java보다 훨씬 간결
✅ 함수형 스타일 + 타입추론 + data class의 힘
❗ Gson 등은 여전히 필요

요약 비교

항목PythonJavaKotlin총 줄 수약 15~18줄약 35줄약 20줄JSON 파싱표준 jsonGson (외부)Gson (외부)데이터 구조dictclassdata class컬렉션 처리list comprehensionStream APIcollection 함수 (map, filter)가독성⭐ 최고❌ 장황⭐ 좋음실행 환경CPython만 있으면 됨JVM + 의존JVM + 의존

✅ 결론

기준추천 언어가장 짧은 코드Python가독성과 실용성 균형Kotlin정석적인 산업 스타일Java (but 길다)

참고

입력 JSON 예시 (students.json):

[ {"name": "Alice", "score": 80}, {"name": "Bob", "score": 55}, {"name": "Charlie", "score": 90} ]

원하시면 입력 GUI 추가, SQLite 저장, REST API로 바꾸기, 비동기 버전 등으로 비교 확장도 가능합니다.
다음 단계로 어떤 걸 보고 싶으세요?


"도둑은 집을 떠나며 주인을 욕한다" - 러시아 속담
송대관-해뜰날
https://youtu.be/DUsVXmywSCk

추천 비추천

0

고정닉 0

0

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 이번주 설문은 탈모 걱정 없어 보이는 머리숱 금수저 스타는? 운영자 25/07/14 - -
AD 디지털 액세서리 기간한정 세일! 운영자 25/07/11 - -
공지 프로그래밍 갤러리 이용 안내 [88] 운영자 20.09.28 45478 65
2871798 보더콜리가 border 콜리였노 [1] 헬마스터갤로그로 이동합니다. 09:19 15 0
2871797 짱깨 ♥지나가던길냥덩♥갤로그로 이동합니다. 09:16 6 0
2871796 우끽끼끼끼기기끼 우키 [1] 통암기클론원숭이(211.235) 08:56 25 0
2871795 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:49 7 0
2871794 총체적문제 무능논란좌파 2찢명 쫄았넹 ㅇㅅㅇ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:19 11 0
2871792 조급함이 일을 망치는법이당 By 나님 ♥지나가던길냥덩♥갤로그로 이동합니다. 08:10 13 0
2871791 [속보] 좌파 2찢명 갑질논란 인사대참사 거짓변명 강선우 텔레그램 확보! [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 08:06 25 0
2871790 세부분석하니 1.5 클래스 올렸다는게 맞는듯? [1] ♥지나가던길냥덩♥갤로그로 이동합니다. 08:04 13 0
2871789 반국가세력 모순 덩어리 아닌가 생각해본다 [2] 넥도리아(220.74) 08:03 21 0
2871788 다시 계산하니 2달 이상 앞당김 ㄷㅅㄷ ♥지나가던길냥덩♥갤로그로 이동합니다. 08:02 10 0
2871787 skt 기변 통보만 가능하다고 해서, 고객센터 전화드렸습니다. 넥도리아(220.74) 08:00 13 0
2871786 나님 잘하면 올해 한단계 클래스 올릴수 있을둣!? ♥지나가던길냥덩♥갤로그로 이동합니다. 07:58 10 0
2871784 나님 기분 ㄱㅆㅅㅌㅊ !! ♥지나가던길냥덩♥갤로그로 이동합니다. 07:57 11 0
2871783 호오.. 나님 작년보다 2달이나 페이스 앞당겼넹 ㅋㅅㅋ ♥지나가던길냥덩♥갤로그로 이동합니다. 07:56 12 0
2871781 보수 이 새끼는 왜 저러고 살까 의문이 들 때 항싱 답을 주는 짤 [3] 프갤러(110.8) 07:08 33 0
2871780 자자 논거를 찾아보지 않는 자칭 보수 병신들의 심리상태 알랴준다 [3] 프갤러(110.8) 07:07 24 0
2871779 헬창들만 아는 고민 하… [1] ㅇㅇㅇㅇ(222.105) 06:52 16 0
2871778 세상에 억까가 심해더 시련을 견디고, 시련 넥도리아(220.74) 06:25 18 0
2871777 너네 개발공부 얼마나해 [6] 프갤러(106.101) 06:18 71 0
2871776 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 06:08 13 0
2871775 저녁 안 먹구 간식 먹구 잣더니 머근개 없어서 그런지 끙야가 잘 안나오네 ♥지나가던길냥덩♥갤로그로 이동합니다. 05:54 13 0
2871774 무제 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 05:53 18 0
2871773 비스크돌 2기 ost 는 별루넹 ♥지나가던길냥덩♥갤로그로 이동합니다. 05:51 13 0
2871772 태연 ㅇㅅㅇ 헤르 미온느갤로그로 이동합니다. 05:51 10 0
2871771 하루 한 번 헤르미온느 찬양 헤르 미온느갤로그로 이동합니다. 05:50 24 0
2871770 C++ 인기는 왜 죽지 않는가? [3] 프갤러(59.16) 05:38 46 0
2871769 나님 모닝 미라클⭐+ ♥지나가던길냥덩♥갤로그로 이동합니다. 05:18 14 0
2871768 ❤✨☀⭐⚡☘♥+나님 시작합니당♥+☘⚡⭐☀✨❤ ♥지나가던길냥덩♥갤로그로 이동합니다. 05:17 10 0
2871767 프갤 저지능자 보수들은 뭔 찾아볼 생각을 못하냐.. [4] ㅆㅇㅆ(124.216) 04:23 40 0
2871766 어느 디씨인의 진심어린 고백 ㅇㅇㅇㅇ(49.254) 03:30 19 0
2871765 자연어로 죄다 코딩해버리니까 현타오네 [2] 프갤러(175.193) 02:34 82 0
2871763 한국 주식 8~90%는 상위 10% 부자가 갖고있다 발명도둑잡기갤로그로 이동합니다. 01:26 18 0
2871761 부자감세 패싱하고 초부자 감세? 배당소득 분리과세의 함정 발명도둑잡기갤로그로 이동합니다. 01:18 15 0
2871759 하 취업 [3] 프갤러(124.50) 01:09 57 0
2871755 노조가 없으니까 당연히 힘이 안 실리지. 현대사회서 노조가 없으면 [2] ㅆㅇㅆ(124.216) 00:51 44 2
2871753 해외개발자들 세금써서 들여온다는거 ㄹㅇ이가.. [6] ㅇㅇ(223.38) 00:43 79 6
2871752 디시애들 멍청함 보다보면 혀를 내두르지 않냐? 노벨 경제학상을 전면부정함 [4] ㅆㅇㅆ(124.216) 00:42 60 0
2871750 잘자요 여러분 [5] 개멍청한유라갤로그로 이동합니다. 00:27 50 0
2871748 국내 자동차 업계는 망하게되있음 [6] ㅇㅇ(211.235) 00:20 103 0
2871747 백준 ㅈㄴ쉬운 문제 푸는데 3시간 걸리면 그냥 접는게 맞음? [1] 프갤러(1.238) 00:20 52 0
2871744 전에 ㅈㄹㄷ가 에고라는 적 책 추천해줬던 것 같은데 hrin(220.120) 00:07 22 0
2871742 삼국지 성씨로 보면 재밌는게 [2] 프갤러(211.210) 07.14 44 0
2871740 다들 임베를 안하려고 하니까 [4] CANON갤로그로 이동합니다. 07.14 88 0
2871736 프론트개발잔데 백엔드로 이직하면 연봉 [4] 프갤러(58.227) 07.14 98 0
2871734 중소 it기업 신입은 평균 학벌이 어캐됨? 프갤러(183.109) 07.14 44 0
2871733 유니티 노무 재밌다 [3] 루도그담당(58.239) 07.14 55 0
2871732 동양에서 제일 오래된 노래책 시경에 "고양이는 귀한 신"이라고 적힘 [1] 발명도둑잡기갤로그로 이동합니다. 07.14 25 0
2871730 차분하게 생각해보면 인생에 무서울것도 없는 것 같아. [1] ㅇㅇ(223.38) 07.14 24 0
2871728 시사힙합 내란의 힘 발명도둑잡기갤로그로 이동합니다. 07.14 12 0
뉴스 팬소통 플랫폼 '블루밍톡' 8월 출시, 이수만 신인 A20메이 참여 디시트렌드 07.14
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2