질문게시판 > c#에서는 var 변수를 못쓰는건가요?

TODAY732 TOTAL343,802
사이트 이용안내
Login▼/회원가입
최신글보기 질문게시판 기술자료 동영상강좌

아두이노 센서 ATMEGA128 PWM LED 초음파 AVR 블루투스 LCD UART 모터 적외선


BASIC4MCU | 질문게시판 | c#에서는 var 변수를 못쓰는건가요?

페이지 정보

작성자 master 작성일2018-09-16 09:27 조회3,313회 댓글0건

본문

	

원래 var가 자바에서 쓰이는 변수인지는 알지만, 막상 구글에 c#에서 var변수형을 쓸수 없나 검색해보면 쓸 수 있다고 나오더라고요? 심지어 마이크로소프트 공식 홈페이지 c# 영역에서도 var변수형을 쓰고 있길래 질문드립니다.  

 

//

 

var가 원래 자바에서 사용하던 선언은 아닌 것 같고요

자바와 C#을 거꾸로 조사해보죠 

2000C#Anders HejlsbergMicrosoft (ECMA)C, C++, Java, Delphi, Modula-2

우측에 보면 C#은 자바도 참고 했다고 적혀있습니다. 



1989Turbo Pascal OOPAnders Hejlsberg at BorlandTurbo Pascal, Object Pascal
2000C#Anders HejlsbergMicrosoft (ECMA)C, C++, Java, Delphi, Modula-2
C#을 만든 Anders Hejlsberg는 터보파스칼과 델파이를 만든 사람입니다.
파스칼과 인연이 깊은 사람이죠


1995JavaJames Gosling at Sun MicrosystemsC, Simula 67, C++, Smalltalk, Ada 83, Objective-C, Mesa
자바도 여러 프로세서를 참고해서 만들었습니다.
(James Gosling이 만든 다른 언어는 없습니다.)

C#이나 자바나 많은 프로세서를 참고해서 만든 언어들이라서
뿌리를 캐려면 전체 언어를 조사해야합니다.

Timeline of programming languages


Pre-1950

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1804Jacquard LoomJoseph Marie Jacquardnone (unique language)
1943–45Plankalkül (concept)Konrad Zusenone (unique language)
1943–46ENIAC coding systemJohn von NeumannJohn MauchlyJ. Presper EckertHerman Goldstineafter Alan Turingnone (unique language)
1946ENIAC Short CodeRichard Clippinger, John von Neumann after Alan TuringENIAC coding system
1946Von Neumann and Goldstine graphing system(Notation)John von Neumann and Herman GoldstineENIAC coding system
1947ARC AssemblyKathleen Booth[1][2]ENIAC coding system
1948CPC Coding schemeHoward H. AikenAnalytical Engine order code
1948Curry notation systemHaskell CurryENIAC coding system
1948Plankalkül (concept published)Konrad Zusenone (unique language)
1949Short CodeJohn Mauchly and William F. SchmittENIAC Short Code

1950s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1950Short CodeWilliam F Schmidt, Albert B. Tonik,[3] J.R. LoganBrief Code
1950Birkbeck AssemblerKathleen BoothARC
1951SuperplanHeinz RutishauserPlankalkül
1951ALGAEEdward A Voorhees and Karl Balkenone (unique language)
1951Intermediate Programming LanguageArthur BurksShort Code
1951Regional Assembly LanguageMaurice WilkesEDSAC
1951Boehm unnamed coding systemCorrado BöhmCPC Coding scheme
1951KlammerausdrückeKonrad ZusePlankalkül
1951OMNIBAC Symbolic AssemblerCharles KatzShort Code
1951Stanislaus (Notation)Fritz Bauernone (unique language)
1951Whirlwind assemblerCharles Adams and Jack Gilmore at MIT Project WhirlwindEDSAC
1951Rochester assemblerNat RochesterEDSAC
1951Sort Merge GeneratorBetty Holbertonnone (unique language)
1952A-0Grace HopperShort Code
1952Glennie AutocodeAlick Glennie after Alan TuringCPC Coding scheme
1952Editing GeneratorMilly KossSORT/MERGE
1952COMPOOLRAND/SDCnone (unique language)
1953SpeedcodingJohn W. Backusnone (unique language)
1953READ/PRINTDon Harroff, James Fishman, George Ryckmannone (unique language)
1954Laning and Zierler systemLaning, Zierler, Adams at MIT Project Whirlwindnone (unique language)
1954Mark I AutocodeTony BrookerGlennie Autocode
1954–55Fortran (concept)Team led by John W. Backus at IBMSpeedcoding
1954ARITH-MATICTeam led by Grace Hopper at UNIVACA-0
1954MATH-MATICTeam led by Charles KatzA-0
1954MATRIX MATHH G Kahrimaniannone (unique language)
1954IPL I (concept)Allen NewellCliff ShawHerbert A. Simonnone (unique language)
1955FLOW-MATICTeam led by Grace Hopper at UNIVACA-0
1955BACAICM. Grems and R. Porter
1955PACT ISHAREFORTRAN, A-2
1955Freiburger Code[4][5]University of FreiburgN/A
1955–56Sequentielle FormelübersetzungFritz Bauer and Karl SamelsonBoehm
1955–56ITTeam led by Alan PerlisLaning and Zierler
1955PRINTIBM
1956–58LISP (concept)John McCarthyIPL
1957COMTRANBob BemerFLOW-MATIC
1957GEORGECharles Leonard Hamblinnone (unique language)
1957Fortran I (implementation)John W. Backus at IBMFORTRAN
1957–58UNICODERemington Rand UNIVACMATH-MATIC
1957COMIT (concept)none (unique language)
1958IPL II (implementation)Allen NewellCliff ShawHerbert A. SimonIPL I
1958Fortran IITeam led by John W. Backus at IBMFORTRAN I
1958ALGOL 58 (IAL)ACM/GAMMFORTRAN, IT, Sequentielle Formelübersetzung
1958IPL VAllen NewellCliff ShawHerbert A. SimonIPL II
1959APTDouglas T. Ross
1959FACTFletcher R. JonesRoy Nutt, Robert L. Patricknone (unique language)
1959COBOL (concept)The CODASYL CommitteeFLOW-MATIC, COMTRAN, FACT
1959JOVIALJules Schwartz at SDCALGOL 58
1959LISP (implementation)John McCarthyIPL
1959MAD – Michigan Algorithm DecoderBruce ArdenBernard Galler, and Robert M. GrahamALGOL 58
1959TRAC (concept)Calvin Mooers

1960s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1960ALGOL 60ALGOL 58
1960COBOL 61 (implementation)The CODASYL CommitteeFLOW-MATIC, COMTRAN
1961COMIT (implementation)none (unique language)
1962FORTRAN IVIBMFORTRAN II
1962APL (concept)Kenneth E. Iversonnone (unique language)
1962Simula (concept)ALGOL 60
1962SNOBOLRalph Griswoldet al.FORTRAN II, COMIT
1963CPLBarron, Christopher Stracheyet al.ALGOL 60
1963SNOBOL3Griswoldet al.SNOBOL
1963ALGOL 68 (concept)Adriaan van Wijngaardenet al.ALGOL 60
1963JOSS ICliff Shaw, RANDALGOL 58
1964MIMICH. E. Petersen, et al.MIDAS
1964COWSELRod BurstallRobin PopplestoneCPL, LISP
1964PL/I (concept)IBMALGOL 60, COBOL, FORTRAN
1964BASICJohn George Kemeny and Thomas Eugene Kurtz at Dartmouth CollegeFORTRAN II, JOSS
1964IBM RPGIBMFARGO
1964Mark-IVInformatics
1964Speakeasy-2Stanley Cohen at Argonne National LaboratorySpeakeasy
1964TRAC (implementation)Calvin Mooers
1964P′′Corrado Böhmnone (unique language)
1964?IITRAN
1965RPG IIIBMFARGORPG
1965MAD/I (concept)University of MichiganMADALGOL 60PL/I
1965TELCOMPBBNJOSS
1965Atlas AutocodeTony Brooker, Derrick Morris at Manchester UniversityAlgol 60Autocode
1966JOSS IIChuck Baker, RANDJOSS I
1966ALGOL WNiklaus WirthC. A. R. HoareALGOL 60
1966FORTRAN 66FORTRAN IV
1966ISWIM (Concept)Peter J. LandinLISP
1966CORAL66ALGOL 60
1966APL (implementation)[6]Kenneth E. Iversonnone (unique language)
1967BCPLMartin RichardsCPL
1967MUMPSMassachusetts General HospitalFORTRAN, TELCOMP
1967Simula 67 (implementation)Ole-Johan Dahl, Bjørn Myhrhaug, Kristen Nygaard at Norsk RegnesentralALGOL 60
1967InterLispD.G. Bobrow and D.L. MurphyLisp
1967EXAPTHerwart Opitz, Wilhelm Simon, Günter Spur, and Gottfried Stute at RWTH Aachen University and TU BerlinAPT
1967SNOBOL4Ralph Griswoldet al.SNOBOL3
1967XPLWilliam M. McKeemanet al. at University of California Santa Cruz, California
J. J. Horninget al. at Stanford University
PL/I
1967Space Programming Language(SPL)System Development CorporationJOVIAL
1968ALGOL 68 (UNESCO/IFIPstandard)Adriaan van WijngaardenBarry J. MaillouxJohn E. L. Peck and Cornelis H. A. Koster,et al.ALGOL 60
1968POP-1Rod BurstallRobin PopplestoneCOWSEL
1968DIBOL-8DECDIBOL
1968Forth (concept)Moore
1968LOGOWally FeurzeigSeymour PapertCynthia SolomonLISP
1968MAPPERUnisysCRT RPS
1968REFAL (implementation)Valentin Turchinnone (unique language)
1968TTM (implementation)Steven Caine and E. Kent Gordon, California Institute of TechnologyGAP, GPM
1968PILOTJohn Amsden StarkweatherUniversity of California, San FranciscoComputest
1969PL/I (implementation)IBMALGOL 60, COBOL, FORTRAN
1969BKen Thompson, with contributions from Dennis RitchieBCPL
1969Polymorphic Programming Language (PPL)Thomas A. Standish at Harvard University
1969SETLJack Schwartz at Courant Institute of Mathematical Sciences
1969TUTORPaul Tenczar & University of Illinois at Urbana–Champaign
1969Edinburgh IMPEdinburgh UniversityAlgol 60AutocodeAtlas Autocode


1970s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1970?Forth (implementation)Charles H. Moore
1970POP-2Robin PopplestonePOP-1
1970PascalNiklaus Wirth, Kathleen JensenALGOL 60, ALGOL W
1970BLISSWulf, Russell, Habermann at Carnegie Mellon UniversityALGOL
1971KRLDaniel G. Bobrow at Xerox PARCTerry Winograd at Stanford UniversityKM, FRL (MIT)
1971SueRic Holt et al. at University of TorontoPascal, XPL
1971Compiler Description Language (CDL)Cornelis H.A. Koster at University of Nijmegen
1972SmalltalkAlan KayAdele GoldbergDan IngallsXerox PARCSimula 67
1972PL/MGary Kildall at Digital ResearchPL/I, ALGOL, XPL
1972CDennis RitchieB, BCPL, ALGOL 68
1972INTERCALDon Woods and James M. Lyonnone (unique language)
1972PrologAlain Colmerauer2-level W-Grammar
1972Structured Query language (SQL)IBMALPHA, Quel (Ingres)
1973COMALBørge Christensen, Benedict LøfstedtPascal, BASIC
1973MLRobin Milner
1973LISJean Ichbiah et al. at CII Honeywell BullPascal, Sue
1973Speakeasy-3Stanley Cohen, Steven Pieper at Argonne National LaboratorySpeakeasy-2
1974CLUBarbara LiskovALGOL 60, Lisp, Simula
1974GRASSThomas A. DeFantiBASIC
1974BASIC FOURMAI BASIC Four Inc.Business BASIC
1974PROSE modeling languageCDC 6600 Cybernet ServicesSLANG, FORTRAN
1975ABCLeo Geurts and Lambert MeertensSETL
1975Irvine Dataflow (concept)Arvind?, University of California, Irvine
1975PROSE modeling language Time-Sharing VersionCDC 6400 Cybernet KRONOS ServicesSLANG, FORTRAN
1975SchemeGerald Jay SussmanGuy L. Steele, Jr.LISP
1975Altair BASICBill GatesPaul AllenBASIC
1975CS-4James S. Miller, Benjamin M. Brosgol et al. at IntermetricsALGOL 68, BLISS, ECL, HAL
1975ModulaNiklaus WirthPascal
1976PlusAllan Ballard, Paul Whaley at the University of British ColumbiaPascal, Sue
1976Smalltalk-76Xerox PARCSmalltalk-72
1976MesaXerox PARCALGOL
1976SAM76Claude A.R. KaganLISP, TRAC
1976RatforBrian KernighanC, FORTRAN
1976SJohn Chambers at Bell LabsAPL, PPL, Scheme
1976SASSAS Institute
1976Integer BASICSteve WozniakBASIC
1977FPJohn Backusnone (unique language)
1977Bourne Shell (sh)Stephen R. Bournenone (unique language)
1977Commodore BASICJack TramielBASIC
1977IDLDavid Stern of Research Systems IncFortran
1977Standard MUMPSMUMPS
1977Icon (concept)Ralph GriswoldSNOBOL
1977RedBenjamin M. Brosgol et al. at Intermetrics for US Dept of DefenseALGOL 68, CS-4
1977BlueJohn B. Goodenough et al. at SofTech for US Dept of DefenseALGOL 68
1977YellowJay Spitzen et al. at SRI International for US Dept of DefenseALGOL 68
1977EuclidButler Lampson at Xerox ParcRic Holt and James Cordy at University of Toronto
1977Applesoft BASICMarc McDonald and Ric WeilandBASIC
1978RAPTPat Ambler and Robin PopplestoneAPT
1978C shellBill JoyC
1978RPG IIIIBMFARGORPGRPG II
1978HAL/Sdesigned by Intermetrics for NASAXPL
1978Applesoft II BASICMarc McDonald and Ric WeilandApplesoft BASIC
1975Irvine Dataflow (implementation)Arvind and Gostelow, University of California, Irvine
1978?MATLABCleve Moler at the University of New MexicoFortran
1978?SMALLNevil Brownlee at the University of AucklandAlgol60
1978VisiCalcDan BricklinBob Frankston marketed by VisiCorpnone (unique language)
1979Modula-2Niklaus WirthModula, Mesa
1979REXXMike Cowlishaw at IBMPL/I, BASIC, EXEC 2
1979AWKAlfred AhoPeter J. WeinbergerBrian KernighanC, SNOBOL
1979Icon (implementation)Ralph GriswoldSNOBOL
1979Vulcan dBase-IIWayne Ratliffnone (unique language)



1980s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1980Ada 80 (MIL-STD-1815)Jean Ichbiah at CII Honeywell BullGreen
1980C with classesBjarne Stroustrup[7]C, Simula 67
1980Applesoft IIIApple ComputerApplesoft II BASIC
1980Apple III Microsoft BASICMicrosoftMicrosoft BASIC
1980–81CBASICGordon EubanksBASIC, Compiler Systems, Digital Research
1981BBC BASICAcorn ComputersSophie WilsonBASIC
1981IBM BASICAMicrosoftBASIC
1982?Speakeasy-IVStanley Cohen, et al. at Speakeasy Computing CorporationSpeakeasy-3
1982?DracoChris GrayPascalCALGOL 68
1982PostScriptWarnockInterPress
1982TuringRic Holt and James Cordy, at University of TorontoEuclid
1983GW-BASICMicrosoftIBM BASICA
1983Turbo PascalHejlsberg at BorlandPascal
1983Ada 83 (ANSI/MIL-STD-1815A)Jean Ichbiah at AlsysAda 80, Green
1983Objective-CBrad CoxSmalltalk, C
1983C++Bjarne StroustrupC with Classes
1983True BASICJohn George KemenyThomas Eugene Kurtz at Dartmouth CollegeBASIC
1983occamDavid MayEPL
1983?ABAPSAP AGCOBOL
1983Korn Shell (ksh)David Kornsh
1983ClascalApple Computer Inc.Pascal
1984CLIPPERNantucketdBase
1984Common LispGuy L. Steele, Jr. and many othersLISP
1984?GOM – Good Old MadDon Boettner, University of MichiganMAD
1984RPLHewlett-PackardForthLisp
1984Standard MLML
1984RedcodeAlexander Dewdney and D.G. Jones
1984OPLPSIONBASIC
1985PARADOXBorlanddBase
1985QuickBASICMicrosoftBASIC
1986ClarionBruce Barrington
1986CorVisionCortexINFORM
1986EiffelBertrand MeyerSimula 67, Ada
1986GFA BASICFrank OstrowskiBASIC
1986Informix-4GLInformix
1986LabVIEWNational Instruments
1986MirandaDavid Turner at University of Kent
1986Object PascalApple Computer Inc.Pascal
1986PROMALC
1986ErlangJoe Armstrong and others in EricssonProlog
1987Ada ISO 8652:1987ANSI/MIL-STD-1815A unchangedAda 83
1987Self (concept)Sun Microsystems Inc.Smalltalk
1987occam 2David May and INMOSoccam
1987HyperTalkApple Computer Inc.none (unique language)
1987PerlLarry WallC, sed, awk, sh
1987OberonNiklaus WirthModula-2
1987Mathematica (Wolfram Language)Wolfram Researchnone (unique language)
1987Turbo BasicRobert 'Bob' ZaleBASIC/Z
1987CleanSoftware Technology Research Group of Radboud University Nijmegennone (unique language)
1988RPG/400IBMFARGORPGRPG IIRPG III
1988OctaveMATLAB
1988TclJohn OusterhoutAwk, Lisp
1988STOS BASICFrançois Lionet and Constantin SotiropoulosBASIC
1988ActorCharles Duff, the Whitewater GroupForth, Smalltalk
1988Object REXXSimon C. NashREXX, Smalltalk
1988SPARKBernard A. CarréAda
1988A+Arthur WhitneyAPL
1988Hamilton C shellNicole HamiltonC shell
1989Turbo Pascal OOPAnders Hejlsberg at BorlandTurbo Pascal, Object Pascal
1989Modula-3Cardeli, et al. DEC and OlivettiModula-2
1989PowerBASICRobert 'Bob' ZaleTurbo Basic
1989VisSimPeter Darnell, Visual Solutions
1989LPCLars Pensjö
1989BashBrian FoxBourne shellC shellKorn shell
1989Magik (programming language)Arthur Chance, of Smallworld Systems LtdSmalltalk
1989Python (programming language)Guido Van RossumSETL

1990s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
1990AMOS BASICFrançois Lionet and Constantin SotiropoulosSTOS BASIC
1990AMPLRobert Fourer, David Gay and Brian Kernighan at Bell Laboratories
1990Object OberonH Mössenböck, J Templ, R GriesemerOberon
1990JKenneth E. IversonRoger Hui at Iverson SoftwareAPL, FP
1990HaskellMiranda
1990EuLispCommon Lisp, Scheme
1990Z Shell (zsh)Paul Falstad at Princeton Universityksh
1991GNU EDavid J. DeWitt, Michael J. CareyC++
1991Oberon-2Hanspeter Mössenböck, WirthObject Oberon
1991PythonGuido van RossumABCALGOL 68IconModula-3
1991OzGert Smolka and his studentsProlog
1991QAlbert Gräf
1991Visual BasicAlan Cooper, sold to MicrosoftQuickBASIC
1992Borland PascalTurbo Pascal OOP
1992Dylanmany people at Apple Computer Inc.Common Lisp, Scheme
1992S-LangJohn E. DavisPostScript
1993?Self (implementation)Sun Microsystems Inc.Smalltalk
1993Amiga EWouter van OortmerssenDEX, C, Modula-2
1993BrainfuckUrban MüllerP′′
1993LiveCode TranscriptHyperTalk
1993AppleScriptApple Computer Inc.HyperTalk
1993KArthur WhitneyAPL, Lisp
1993LuaRoberto Ierusalimschy et al. at Tecgraf, PUC-RioScheme, SNOBOL, Modula, CLU, C++
1993RRobert Gentleman and Ross IhakaS
1993ZPLChamberlain et al. at University of WashingtonC
1993NewtonScriptWalter SmithSelf, Dylan
1993EuphoriaRobert CraigSNOBOL, AWK, ABC, Icon, Python
1994ClaireYves CaseauSmalltalk, SETL, OPS5, Lisp, ML, C, LORE, LAURE
1994ANSI Common LispCommon Lisp
1994RAPIDABB GroupARLA
1994PikeFredrik Hübinette et al. at Linköping UniversityLPC, C, µLPC
1994ANS ForthElizabeth Rather, et al.Forth
1995Ada 95S. Tucker Taft, et al. at Intermetrics, Inc.Ada 83
1995Borland DelphiAnders Hejlsberg at BorlandBorland Pascal
1995ColdFusion (CFML)Allaire
1995JavaJames Gosling at Sun MicrosystemsC, Simula 67, C++, Smalltalk, Ada 83, Objective-C, Mesa
1995LiveScriptBrendan Eich at NetscapeSelf, C, Scheme
1995MercuryZoltan Somogyi at University of MelbourneProlog, Hope, Haskell
1995PHPRasmus LerdorfPerl
1995RubyYukihiro MatsumotoSmalltalk, Perl
1995JavaScriptBrendan Eich at NetscapeLiveScript
1995RacketMatthew Flatt at Rice UniversitySchemeLisp
1996CurlDavid Kranz, Steve Ward, Chris Terman at MITLisp, C++, Tcl/Tk, TeX, HTML
1996LassoBlue World Communications Inc.
1996Perl Data Language (PDL)Karl GlazebrookJarle BrinchmannTuomas Lukka, and Christian SoellerAPL, Perl
1996VBScriptMicrosoftVisual Basic
1996OCamlINRIACaml Light, Standard ML
1996NetRexxMike CowlishawREXX
1997Component PascalOberon microsystems, IncOberon-2
1997EMark S. MillerJoule, Original-E
1997PicoFree University of BrusselsScheme
1997Squeak SmalltalkAlan Kayet al. at Apple Computer Inc.Smalltalk-80, Self
1997ECMAScriptECMA TC39-TG1JavaScript
1997F-ScriptPhilippe MouginSmalltalk, APL, Objective-C
1997ISLISPISO Standard ISLISPCommon Lisp
1997TeaJorge NunesJavaSchemeTcl
1997REBOLCarl Sassenrath, Rebol TechnologiesSelfForthLispLogo
1998LogtalkPaulo Moura (then at University of Coimbra)Prolog
1998ActionScriptGary GrossmanECMAScript
1998Standard C++ANSI/ISO Standard C++C++, Standard C, C
1998M2001Ronald E. Prather, Trinity University (Texas)none (unique language)
1998PiktRobert Osterlund (then at University of Chicago)AWK, Perl, Unix shell
1998PureBasicFrederic Laboureur, Fantaisie Software
1998UnrealScriptTim Sweeney at Epic GamesC++, Java
1998XSLT (+ XPath)W3CJames ClarkDSSSL
1999Game Maker Language(GML)Mark OvermarsGame Maker
1999HarbourAntonio LinaresdBase


2000s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
2000Join JavaG Stewart von ItzsteinJava
2000DarkBasicThe Game Creators Ltd.
2000C#Anders HejlsbergMicrosoft (ECMA)C, C++, Java, Delphi, Modula-2
2001JoyManfred von ThunFP, Forth
2001AspectJGregor KiczalesXerox PARCJava, Common Lisp
2001DWalter Bright, Digital MarsC, C++, C#, Java
2001ProcessingCasey Reas and Benjamin FryJavaCC++[8]
2001Visual Basic .NETMicrosoftVisual Basic
2001RPG IV (RPGLE, ILE RPG, RPG Free)IBMFARGORPGRPG IIRPG IIIRPG/400
2001GDScript (GDS)OKAM StudioGodot
2002IoSteve DekorteSelf, NewtonScript, Lua
2002GosuGuidewire SoftwareGScript
2002PlayBasicKevin Picone
2002ScratchMitchel Resnick, John Maloney, Natalie Rusk, Evelyn Eastmond, Tammy Stern, Amon Millner, Jay Silver, and Brian SilvermanLogoSmalltalkSqueakE-ToysHyperCard, AgentSheets, StarLogo, Tweak, BYOB
2003NemerleUniversity of WrocławC#, ML, MetaHaskell
2003FactorSlava PestovJoy, Forth, Lisp
2003FalconGiancarlo NiccolaiC++, Perl, Lua, Smalltalk, PHP, Lisp, Python, Ruby
2003ScalaMartin OderskySmalltalk, Java, Haskell, Standard ML, OCaml
2003C++03C++ ISO/IEC 14882:2003C++, Standard C, C
2003SquirrelAlberto DemichelisLua
2003BooRodrigo B. de OliveiraPython, C#
2004SubtextJonathan Edwardsnone (unique language)
2004Alma-0Krzysztof Apt, Centrum Wiskunde & Informaticanone (unique language)
2004FreeBASICAndre VictorQBasic
2004GroovyJames StrachanJava
2004Little bAneil Mallavarapu, Harvard Medical School, Department of Systems BiologyLisp
2005FantomBrian Frank, Andy FrankC#, Scala, Ruby, Erlang
2005F#Don SymeMicrosoft ResearchOCamlC#Haskell
2005HaxeNicolas CannasseActionScriptOCamlJava
2005OxygeneRemObjects SoftwareObject PascalC#
2005Seed7Thomas Mertesnone (unique language)
2006LinksPhilip WadlerUniversity of EdinburghHaskell
2006CobraChuckEsterbrookPython, C#, Eiffel, Objective-C
2006Windows PowerShellMicrosoftC#, ksh, Perl, CLDCL, SQL
2006OptimJAtejiJava
2006FortressGuy SteeleScalaMLHaskell
2006ValaGNOMEC#
2007Ada 2005Ada Rapporteur GroupAda 95
2007AgdaUlf NorellCoqEpigramHaskell
2007QB64Galleon, QB64TeamQBasic
2007ClojureRich HickeyLispMLHaskellErlang
2007LOLCODEAdam Lindsaynone (unique language)
2007Oberon-07WirthOberon
2007Swift (parallel scripting language)University of ChicagoArgonne National Laboratory
2008NimAndreas RumpfPythonLispObject Pascal
2008GenieJamie McCrackenPythonBooDObject Pascal
2008PureAlbert GräfQ
2009ChapelBrad Chamberlain, Cray Inc.HPFZPL
2009GoGoogleCOberonLimboSmalltalk
2009CoffeeScriptJeremy AshkenasJavaScriptRubyPythonHaskell
2009IdrisEdwin BradyHaskellAgdaCoq
2009ParasailS. Tucker Taft, AdaCoreModulaAdaPascalML
2009WhileyDavid J. PearceJavaCPython
2009DafnyK. Rustan M. LeinoJavaSpec#

2010s

YearNameChief developer, companyPredecessor(s)
YearNameChief developer, companyPredecessor(s)
2010RustGraydon Hoare, MozillaAlefC++Camlp4ErlangHermesLimbo, Napier, Napier88Newsqueak, NIL,SatherStandard ML
2011CeylonGavin King, Red HatJava
2011DartGoogleJavaJavaScriptCoffeeScriptGo
2011C++11C++ ISO/IEC 14882:2011C++, Standard C, C
2011KotlinJetBrainsJavaScalaGroovyC#Gosu
2011RedNenad RakocevicRebolScalaLua
2011MonkeyXMark Sibly
2011OpaMLstateOCamlErlangJavaScript
2012ElixirJosé ValimErlangRubyClojure
2012ElmEvan CzaplickiHaskellStandard MLOCamlF#
2012TypeScriptAnders HejlsbergMicrosoftJavaScriptCoffeeScript
2012JuliaJeff BezansonStefan Karpinski, Viral Shah, Alan EdelmanMITMATLABLispCFortranMathematica[9] (strictly its Wolfram Language), Python,PerlRRubyLua[10]
2012PVivek Gupta, Ethan JacksonShaz QadeerSriram RajamaniMicrosoft
2012Ada 2012ARA and Ada Europe (ISO/IEC 8652:2012)Ada 2005, ISO/IEC 8652:1995/Amd 1:2007
2013P4P4 Language Consortium (P4.org)
2013CuneiformJörgen BrandtSwift (parallel scripting language)
2014CrystalAry Borenszweig, Manas Technology SolutionsRubyCRustGoC#Python
2014HackFacebookPHP
2014SwiftApple Inc.Objective-CRustHaskellRubyPythonC#CLU
2014C++14C++ ISO/IEC 14882:2014C++, Standard C, C
2015Perl 6The Rakudo TeamPerlHaskellPythonRuby
2015SpiderBasicFrederic Laboureur, Fantaisie Software
2016RingMahmoud FayedLuaPythonRubyCC#BASICQMLxBase, Supernova
2017C++17C++ ISO/IEC 14882:2017C++, Standard C, C
2017CerberusXMichael Hartlef, Martin LeidelMonkeyX
2017BallerinaWSO2, Open Source[11]
2018Fortran 2018ISO/IEC JTC1/SC22/WG5 N2150:2018Fortran 2008

See also




1970PascalNiklaus Wirth, Kathleen JensenALGOL 60, ALGOL W
1972CDennis RitchieB, BCPL, ALGOL 68
우리가 잘 알고있는 C는 B, BCPL, ALGOL 68을 참고해서 만들었고
파스칼은 ALGOL 60, ALGOL W을 참고해서 만들었습니다.
파스칼에서 var를 사용합니다.
델파이는 파스칼을 사용합니다.
터보파스칼이나 델파이를 만든 사람이 C#을 만들었습니다.
파스칼은 c보다 먼저 만들었지만 어느 버전부터 var를 사용했는지도 모르겠고
파스칼 이전의 언어에서 var를 사용했는지도 모르겠습니다.

파스칼이나 C도 이전에 만들어진 다른 언어를 참고해서 만들었고
각각 버전이 업그레이드 되면서 많은 변화가 있었으므로
var를 어느 언어어서 가장 먼저 사용했는지는 
언어에 대해서는 깊이있게 공부한 사람만 알 수 있겠습니다.

아래 글에서는 C# 에서는 VAR가 버전 3.0에서 처음 등장했다고 적혀있습니다.
//
C#의 다양한 타입(type) 선언 : var vs. dynamic vs. object

C#이라는 언어가 처음 세상에 나왔을 때는 기존의 다른 컴파일 언어들과 비슷하게 명시적 타입 선언만을 제공하였다.

 

예를 들어

 

  • 문자열을 선언할 경우 : string name;
  • 정수형을 선언할 경우 : int number;

     

와 같이 선언을 하였다. 하지만 Functional Programming, LINQ 와 같은 개념 혹은 스펙이 추가 되면서 다양한 타입 선언 방식을 제공하고 있다. 여기서는 기존 명시적 타입 선언 이외에 var, dynamic, object 의 공통점 및 차이점에 대해 알아 보도록 하겠다.

 

object

어떠한 타입이라도 변수로 선언하여 사용할 수 있다. 단 값 형식(value type)을 참조형식(reference type)으로 다시 참조형식을 값 형식으로 형 변환을 할 경우 박싱(boxing : 값형식 -> 참조형식), 언박싱(unboxing : 참조형식 -> 값형식) 과정이 일어나며, 성능상 영향을 미칠 수 있다.

 

var

var(Local Variable Type)은 C# 3.0에서 처음 등장한 것으로 var로 선언된 변수는 닷넷에서 제공하는 대부분의 형식 사용할 수 있다. var 형식은 기존에 닷넷에서 존재하는 형식에서 사용하기 보다는 익명 형식(anonymous type)을 위해 탄생했다고 봐도 될 것이다. 익명 형식은 아래 코드처럼 타입의 이름을 지정하지 않고 사용 시점에 바로 바로 선언하여 객체로 사용할 수 있다. 하지만 기존 언어적 특성에서는 모든 타입은 명시적으로 선언되어야만 사용할 수 있었다. 이러한 점을 해결하고자 var 형식이 나오게 되었다. var 형식은 최초 초기화되어 타입이 정해진 이후에는 타입을 변경할 수 없다. 그러므로 null로는 초기화 할 수 없다. 반드시 선언 시점에 특정 타입으로 초기화 되어야 한다. var 타입은 선언 시점에서 타입을 추정하기 때문에 IDE에서 해당 타입에 맞는 인텔리센스가 완벽하게 지원 된다.

 

 

var items = new[]

{

    new {Title = "A", StartDate = "20121210", EndDate = "20121231"},

    new {Title = "B", StartDate = "20121201", EndDate = "20121231"},

    new {Title = "C", StartDate = "20121207", EndDate = "20121208"},

    new {Title = "D", StartDate = "20121217", EndDate = "20121231"},

    new {Title = "E", StartDate = "20121203", EndDate = "20121210"}

};

 

[익명 형식(anonymous type) 선언 예]

 

첨부 이미지

[var 타입으로 선언시 null로 초기화 할 수 없다]

 

var 형식은 다음과 같은 특징을 가지고 있다.

 

  • 사용 가능 한 type
    • built-in type
    • anonymous type
    • user-defined type
    • type defined in the .NET FCL

 

  • 선언시 유의사항
    • var temp; //초기화기 되지 않음
    • var temp = null; //특정한 type을 가져야 함.
    • 메소드의 파라미터로 사용할 수 없음

 

dynamic

C# 4.0에 오면서 상호 운영성(interop)에 대한 부분이 많이 강조가 되었다. C#과 VB, COM등 과의 연동 등 기존의 복잡함을 dynamic 타입을 통해서 개발 시점에 많이 간결하게 처리가 가능하다. dynamic 타입은 컴파일 시점에 타입에 대한 확인을 하지 않기 때문에 개발 시점에서 인텔리센스는 동작하지 않는다.

 

var vs. dynamic vs. object 무엇이 다른가?

  • ( var, dynamic) vs. object
    • 공통점 : 선언 시점에 다양한 타입을 지정할 수 있다.
    • 차이점 : var, dynamic 타입은 선언된 원본 형식을 유지한다. 하지만 object 으로 선언을 하게 되면 원본의 특성을 읽어 버리게 된다. object로 선언 되었다가 원본 형식으로 바꾸기 위해서는 반드시 형변환 처리가 필요하다. 아래 각 타입으로 선언시 인텔리센스 화면을 보면 그 차이를 좀더 확실히 확인이 가능하다.
  • var vs. dynamic
    • 공통점 : 닷넷에서 지원하는 대부분의 타입을 선언할 수 있으며, 원본 타입의 특정을 가지고 있다.
    • 차이점 : 두 타입에서 가장 큰 차이점은 타입이 확정 되는 시점이다. var 타입은 컴파일 시점에 이미 타입을 추정하여 확정을 하게 된다. 하지만 dynamic 타입은 런타임 시점이 타입이 확정되게 된다. 그러므로 dynamic 형식으로 사용하는 값이 올바르지 않은 타입이 지정이 되더라도 컴파일 시점에서는 모두 by-pass 되며, 런타임 시점에 예외를 발생하게 된다. 이점을 유의 해야 된다.
       

      var

      dynamic

      형식의 확정 시점

      Compile time

      Runtime

      바인딩(binding) 방식

      Static Binding

      Late Binding

       

 

첨부 이미지

[object로 선언을 하면 원본의 특성을 상실하게 된다. 선언된 값은 object 자체인 것이다.]

 

첨부 이미지

[타입을 추정하여 원본의 특성을 유지한다. 각 타입에 맞는 인텔리센스가 작동하는 것을 볼 수 있다.]

 

첨부 이미지

[원본의 특성을 유지 하지만, 컴파일 시점에서는 확인을 할 수 없기 때문에 인텔리센스가 동작하지 않는다.]

 

결론적으로 var 선언과 명시적 타입 선언의 차이점은 없다. 단, var 이외의 방식은 사용 방법에 따라 성능에 영향을 미칠 수 있으므로, 명확한 목적에 따라 사용해야 한다.

 

[출처] C#의 다양한 타입(type) 선언 : var vs. dynamic vs. object|작성자 SuYoung Kim 

  • BASIC4MCU 작성글 SNS에 공유하기
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글 0

조회수 3,313

등록된 댓글이 없습니다.

질문게시판HOME > 질문게시판 목록

MCU, AVR, 아두이노 등 전자공학에 관련된 질문을 무료회원가입 후 작성해주시면 전문가가 답변해드립니다.
ATMEGA128PWMLED초음파
아두이노AVR블루투스LCD
UART모터적외선ATMEGA
전체 스위치 센서
게시물 검색

Privacy Policy
MCU BASIC ⓒ 2017
모바일버전으로보기