1 1. 플랫폼과 개발툴 볼랜드포럼 대표시삽 박지훈 Jeehoon Imp Park
2 플랫폼이란 ? 플랫폼 (Platform) – 애플리케이션 (Application) 의 상대 개념 – 애플리케이션을 구동하기 위한 하드웨어 / 소프트웨어 기반 (infra) 시스템 –API (Application Programming Interface) : 플랫폼과 애플리케이션을 매개 플랫폼의 예 – 컴퓨터 하드웨어 플랫폼 (Intel, SPARC, Alpha, PowerPC, … ) –OS 플랫폼 (DOS, Windows, Linux, Unix, MacOS, … ) –Java &.NET –WAS 플랫폼 (WebLogic, WebSphere, OracleAS, BES, … ) – 모바일 플랫폼 (WIPI, 브루, Symbian, WinCE/PPC2002 … ) – 기타
3 개발툴의 정의 개발툴 (Development Tools) – 애플리케이션을 개발하기 위한 애플리케이션 – 컴파일러의 개념 확장 : IDE(Integrated Development Environment) – 특정 플랫폼을 위한 애플리케이션 확산의 중요한 키 역할 개발툴의 예 (PC 환경 ) –Windows : Visual Studio(6.0), Delphi, C++Builder, PowerBuilder, … –Java : JBuilder, VisualAge for Java, JDeveloper, VisualCafe, … –.NET : Visual Studio.NET, Delphi.NET –Linux : GCC, KDevelop, Kylix, …
4 주요 플랫폼 : Windows 와 Linux Windows –1981 년 IBM PC 와 함께 MS-DOS 출시 –80 년대 중반부터 80 년대 말까지 IBM-MS 간 GUI 32bit OS 공동 개발 –1990 년 Windows 3.0, 1991 년 Visual Basic 1.0, 1992 년 Windows 3.1 –1992~1993 년 OS 전쟁 (Windows 3.1 과 OS/2 2.0) –1995 년 Windows 95, 1988 년 Windows 98 –1993 년 Windows NT 3.1, 1996 년 Windows NT 4.0 –2000 년 Windows 2000, 2001 년 Windows XP –2003 년 Windows.NET Server 예정 Linux –1991 년 Linux 0.02 –1994 년 Linux 1.0, 1996 년 Linux 2.0 –1999 년 RedHat 회사 설립 –2000 년 1 월 IBM, Linux 전사적 지원 발표 –2001 년 Linux 2.4 –2002 년 9 월 United Linux, RedHat 8.0 –2002 년 9 월 Sun Microsystems, Linux Desktop 계획 발표 –2003 년 6 월 Linux 2.6 예정
5 주요 플랫폼 : Java 와.NET Java –1995 년 Java Beta 1, 2 –1996 년 Java 1.0 –1998 년 Java 2 (JDK 1.2) –1999 년 J2EE, J2ME –2002 년 3 월 J2SE 1.4 –2003 년 ¼ 분기 J2EE 1.4 예정 (2002 년 11 월 베타 공개 예정 ).NET –2000 년 6 월.NET 프로젝트 발표 –2001 년 7 월 Visual Studio.NET Beta2 –2002 년 2 월 Visual Studio.NET –2002 년 7 월 빌게이츠 발언후.NET 2 기 선언 –2003 년 초 Windows.NET Server 예정 –2003 년 말 SQL Server Yukon 예정, VS.NET Update 예정 –2004 년 ~2006 년 Longhorn, Blackcomb 예정, VS.NET Update 예정
6 개발툴의 발전사 70 년대 – 컴파일러, 성능 및 표준화가 주요 이슈 80 년대 –IDE(Integrated Development Environment) 등장 (Turbo Pascal, Turbo C) – 생산성 및 재사용성이 주목받기 시작함 90 년대 –RAD(Rapid Application Development) 등장 (Visual Basic) –OOP(Object-Oriented Programming) 도입 (90 년대 전반 ) –CBD(Component Based Development) 도입 (90 년대 후반 ) 현재 – 개발 주기 전반 솔루션들과의 통합화 ( 디자인, 형상관리 등 ) –SBD(Service Based Programming) 소개
7 개발툴 시장 동향 (1) Microsoft –1982 년 GW-BASIC 1.0, 1983 년 Microsoft C 1.0 –1987 년 Microsoft C 5.0 –1991 년 Visual Basic 1.0, Microsoft C/C –1992 년 Microsoft C/C (MFC 1.0) –1993 년 Visulal C (MFC 2.0) –1994 년 Visulal C (MFC 3.0, 32bit) –1996 년 Visual J –1997 년 Visual Basic 5.0 –1998 년 Visual C++ 6.0, Visual Basic 6.0, Visual J –1999 년 Visual J++ 포기, COOL 계획 추진중 –2000 년 6 월.NET 프로젝트 발표 –2002 년 2 월 Visual Studio.NET
8 개발툴 시장 동향 (2) Borland –1983 년 Turbo Pascal 1.0, 1987 년 Turbo C 1.0 –1988 년 Turbo C 2.0, Turbo Pascal 5.0 –1990 년 Turbo C++ 1.0, 1991 년 Borland C (Windows IDE, OWL) –1992 년 Borland C++ 3.1, 1995 년 Borland C –1995 년 Delphi 1 (Windows 3.1) –1996 년 Borland C (Windows 95) –1996 년 Delphi 2 (Windows 95) –1997 년 C++Builder 1, Delphi 3, JBuilder 1 (Oracle License) –1998 년 C++Builder 3, Delphi 4, JBuilder 2 –1999 년 C++Builder 4, Delphi 5, JBuilder 3, 2000 년 C++Builder 5, Jbuilder 4 –2001 년 1 월 Kylix 1, 5 월 JBuilder 5, 7 월 Delphi 6, 10 월 Kylix 2, 11 월 JBuilder 6 –2002 년 2 월 C++Builder 6, 5 월 JBuilder 7, 7 월 Kylix 3, 8 월 Delphi 7 Studio –2002 년 하반기 BoldSoft, StarBase, TogetherSoft 인수 –2003 년 ¼ 분기 Delphi/C++Builder.NET 예정
9 개발툴 시장 동향 (3) PowerSoft(SyBase) –1991 년 PowerBuilder 1.0 –1994 년 Watcom 사를 합병 –1994 년 SyBase 사에 합병됨 –1996 년 PowerBuilder 5.0 –1996 년 Power++ 1.0, 1997 년 Power –1998 년 PowerJ 1.0 –1999 년 Power++ 개발 중단 공식 발표 (2.5 free upgrade) –2000 년 10 월 Watcom C/C++ 오픈소스 공개 ( –2002 년 3 월 PowerJ 포기, Borland JBuilder 판매 시작 WebGain(Symantec) –1996, (Symantec) Visual Caf é 1.0 – 월 (Symantec) Visual Caf é 매도 – 월 WebGain 사 설립, WebGain Studio – 월 WebGain StudioWebLogic Server 6.0 과 통합 – 월 WebGain Studio/Visual Caf é TogetherSoft 에 인수 – 월 TogetherSoft, Borland 에 인수
10 플랫폼과 개발툴 시장의 연관성 실례 –IBM-PC, MS-DOS 의 급속한 확산 (1980 년대 ) –Windows 3.1 vs. OS (1992) –Windows vs. Linux 플랫폼과 개발툴은 불가분의 관계 – 플랫폼 확산의 필수 조건은 충분한 애플리케이션 풀 (pool) – 애플리케이션 확산의 첫 단계는 뛰어난 개발툴 => 뛰어난 개발툴이 받쳐주지 못하면 플랫폼은 성공하지 못한다 Java 시장에서는 ? –50% 이상의 개발자들이 에디터에만 의존 –Java 시장에서.NET 의 가장 큰 위협은 상대적으로 우수한 개발환경 => 적극적인 고급 개발툴 수용 필요
11 VS.NET, 가야만 하는 길일까 ?.NET 의 허구 – 웹 서비스의 지상 목표 : 플랫폼 / 언어 독립적인 통합 => 왜 새로운 플랫폼 / 언어가 필요한가 ? (C#, VB.NET) – 플랫폼 독립성 : 타 OS 로의 포팅은 요원한 상태 –C# 의 표준화 : 비개방적인 표준.NET 의 위험 – 엔터프라이즈 시장에서의 위험 Linux Java – 엔드유저 시장에서의 위험 지속적으로 떨어지는 업그레이드율 차세대 Windows 계획의 지연 향후 전망 – 현재보다 MS 의 영향력이 떨어질 가능성을 무시할 수 없음
12 C# 은 C/C++ 을 뛰어넘지 못한다 기술 스펙의 관점 –C# 의 기능은 C/C++ 의 superset 이 아니라 subset 이다 => C# 에 추가된 새로운 기능들은 C/C++ 위에서도 구현 가능 - 성능과 최적화의 문제 -=> C/C++ 만큼의 최적화가 불가능 환경적인 관점 – 플랫폼 제한성 (Linux? Unix?) –C# 은 현재 상황에만 맞추어진 언어 => C/C++ 을 완전히 대체하기 전에 C# 의 차세대 언어 출현 가능 - 안정화된 언어 vs. 도입 단계의 언어 - 자바가 과연 C/C++ 의 시장을 대체해왔을까 ?
13 개발자의 플랫폼 마케팅 도구화 플랫폼 벤더와 개발툴 – 플랫폼 업체에게 개발툴 매출의 비중은 대단히 낮음 – 플랫폼 확산을 위해서는 다수 개발자들의 참여가 필수적 => 뛰어난 개발툴로 개발자 유인 – 정책의 핵심이 개발툴이 아니라 플랫폼 => 잦은 개발툴 정책 및 기술의 변경 => 개발자의 미래를 보장해주지 못함 독립 개발툴 벤더의 필요성 – 플랫폼 정책의 조류에 휩쓸리지 않는 안정적인 개발툴 벤더 필요