|
ÕâÆªÎÄÕ±¾À´ÊÇÎÒ´Ócomp.lang.c++ÉÏÃæ¿´µ½µÄ¶«Î÷£¬µ±Ê±¿´ÍêÖ®ºóҲûÓÐÏë°ÑËü·Òë¹ýÀ´£¬µ«ÊÇ×î½üÎÒÒªÔÚÎÒÃÇѧУÉϵÄÒ»¸öУ¿¯Ð´Ò»µã¶«Î÷£¬¾ÍÏëÏë°ÑËü·ÒëÁËËãÁË£¬³õ´Î¶¯±Ê·Òë±ðÈ˵ÄÎÄÕ£¬³ö´íÖ®´¦£¬¾´Çë°üº¡£ Matthew Languages need reasons to be (commercially) successful. There are lots of languages and yet most of them are not widely used or accepted even when they are clearly more applicable to the problem at hand. I've seen people writing AI systems in C rather than use LISP or Prolog because "C is our standard and Prolog is for weirdoes (that's practicallya quote.). For me, it all comes down to sponsors. Languages need sponsors. They must be programmers (i.e. peer sponsorship) or commercial organisations(i.e. financial sponsorship). Microsoft used to sponsor C++, but now they prefer C# (i.e. their version of Java). They also sponsor VB. ±à³ÌÓïÑÔ£¨ÉÌÒµÉÏ£©³É¹¦µÄÔÒòÊÀ½çÉÏÓкܶàµÄ£¨±à³Ì£©ÓïÑÔ²¢ÇÒËûÃÇÒѾÔÚËûÃǸ÷×ԵĵÄÁìÓòÀïÈ¡µÃÁ˺ܴóµÄÓ¦Óá£ÎÒÔø¾¼ûµ½¹ýÓÐÈËÓÃCÀ´Ð´Ò»¸öAIϵͳ¶ø²»ÊÇÓÃAIϵͳ³£ÓõÄLISP»òProlog£¬Ó¦ÎªËûÃÇÈÏΪ"C"ÊÇÒ»Öֺܱê×¼µÄÓïÑÔ£¬¶øPrologÊǸøÄÇЩºÜ¹Å¹ÖµÄÈËÓõġ£¶ø¶ÔÎÒÀ´Ëµ£¬Õâ½ö½öÈ¡¾öÓÚ¸öÈ˵İ®ºÃ¡££¨±à³Ì£©ÓïÑÔ¾ÍÐèÒªËýµÄ°®ºÃÕßµÄÈÈÇé¡£ÕâЩ°®ºÃÕß¿ÉÄÜÊdzÌÐòÔ±»òÕßÊÇÉÌÒµ¹«Ë¾¡£MicrosoftÔÀ´ÊÇ"ϲ»¶"C++µÄ£¬µ«ÊÇËûÃÇÏÖÔÚ¸üϲ»¶C#(ÕâÊÇËûÃǵÄjava£©£¬ËûÃǵ±È»ÈÔȻϲ»¶VB¡£ Sun never liked C++ for many reasons. Sun sponsors Java and C. No-one apart from IBM ever liked SmallTalk and IBM only half-liked it.IBM advocate Java. Amateur programmers (most programmers) like easy to program, powerful languages with high level abstractions They advocate Python, Perl, Ruby. SUNÒòΪºÜ¶àÔÒò¶ø´ÓÀ´¾ÍûÓÐϲ»¶¹ýC++,ËûÃÇֻϲ»¶javaºÍc¡£ ³ýÁËIBMÖ®ÍâºÜÉÙÈËϲ»¶SmallTalk,ÆäʵIBMÒ²½ö½öÊǹØ×¢Ëü¶øÒÑ£¬IBMÏÖÔڹĴµµÄÊÇjava¡£ÒµÓàµÄ±à³Ì°®ºÃÕߣ¨´ó²¿·Ö£©Ï²»¶ÄÇЩºÜ¼òµ¥²¢ÇÒºÜpowerfulµÄÓïÑÔ,ÏóPython,Perl,Ruby. C++ is too complicated for 99% (if not more) of all programmers. If less than 1% of programmers can program good C++, then by definition there is no peer sponsorship. There is no financial sponsorship without MS, so who's going to look after C++? C++¶Ô99£¥µÄ³ÌÐòÔ±À´ËµÕæÊÇÌ«¸´ÔÓÁË£¬Èç¹ûÓнö½ö1£¥µÄ³ÌÐòÔ±Äܹ»Ð´³öºÜ°ôµÄC++´úÂëµÄ»°£¬ÄÇôÊÀ½çÉϾÍûÓÐpeer sponsorshipÕâһ˵ÁË¡£Èç¹ûûÓÐÁË΢ÈíµÄ²ÆÕþÖ§³ÖµÄ»°£¬ºÜÄÑ˵»¹»áÓÐÈË»áÈç´ËÈÈÖÔÓÚC++. What happends to languages which aren't sponsored? They become niche languages, used by academics or commercially in certain specialist areas: ÄÇô¶ÔÄÇЩûÓÐ"Ö§³ÖÕß"µÄÓïÑÔÀ´Ëµ,ËûÃÇÓÖ¸Ã×ßÏòºÏ·½ÄÇ£¿ËûÃÇ»á±ä³ÉС·¶Î§ÓïÑÔ£¬±»ÄÇЩѧԺÅÉ»òÕßÒ»¶¨·¶Î§ÄÚµÄÉÌÒµ¹«Ë¾ËùʹÓᣠHere's a far from comprehensive list: Prolog - Academics only Lisp - Emacs programmers and academics Fortran - Scientists and academic scientists Tcl/Tk - ? Objective-C - ? Eiffel - ? ML - Academics Scheme - Academics SmallTalk - Acadmics Pascal/Delphi - older home hobbysists Basic - entry level commercial programmers Cobol - entry level maintenance/commercial programmers .... (? means I have no idea who uses these languages.) ÎÒÕâÀïÓÐÒ»·ÝÇåµ¥£º Prolog £Ñ§ÔºÅÉ Lisp £Lisp³ÌÐòÔ±ºÏѧԺÅÉ Fortran £¿ÆÑ§¼ÒºÍѧԺÅÉ¿ÆÑ§¼Ò Tcl/Tk ££¿ Objective£C ££¿ ML £Ñ§ÔºÅÉ Scheme £Ñ§ÔºÅÉ SmallTalk £Ñ§ÔºÅÉ Pascal/Delphi -·ÇרҵÈËÊ¿ Basic -ÈëÃż¶ÉÌÒµ³ÌÐòÔ± Cobol -ÈëÃż¶Î¬»¤/ÉÌÒµ³ÌÐòÔ± ...... (£¿´ú±íÎÒÒ²²»ÖªµÀËÕýÔÚʹÓÃÕâЩ±à³ÌÓïÑÔ) It's my opinion that C++ is joining this list. It no longer has a reason to escape the pull of obscurity. It has no financial sponsorship and it's peer sponsorship is diminishing. I'm not sure what it's niche will be, but it's dying. Îҵù۵ãÊÇC++Ò²Õý½«Òª±»¼ÓÈëµ½Õâ¸öÁбíÖÐÀ´¡£Ëû²»ÔÙÓпÉÄÜÌÓ³öÄÇÖÖÚ¤Ú¤ÖеÄÁ¦Á¿¡£ËûûÓвÆÕþÉϵÄÖ§³ÖÕß £¬²¢ÇÒÒѾʧȥÁËÍùÈÕµÄ"¹ó×å"µØÎ».ÎÒ²»ÖªµÀËûµÄ¡°Éú´æÇø¡±»áÔÚÄÇÀµ«ÊÇÎÒ¿ÉÒÔÈ·¶¨£¬ËûÒѾËÀÁË¡£ I have no axe to grind. My favourite language is Lisp, it's what I learned (well) first and it is suitable for many problems. However, I realise that it has no sponsors and so I work with what I have (i.e. Java/C/Python/Ruby). ÎÒûÓÐʲô¿É±§Ô¹µÄ¡£ÎÒ×îϲ»¶µÄÓïÑÔÊÇLisp£¬ÕâÊÇÎÒ×îÏÈѧϰµÄ¶«Î÷£¬²¢ÇÒÎÒÈÏΪËû¼¸ºõ¿ÉÒÔʤÈÎËùÓеŤ ×÷£¬µ«ÊÇÎÒ¾õÎòµ½ËûûÓÐ×Ô¼ºµÄ"ºǫ́"£¬ËùÒÔÎÒ¾ÍÓÃÎÒÏÖÔÚÓõĶ«Î÷£¨±ÈÈçjava/C/Python/Ruby£©¡£ I think that this will be the case for C++ programmers. Move on and remember what you learned. " ÎÒ¾õµÃ¶ÔÓÚC++³ÌÐòÔ±À´ËµËûÃÇÒ²ÐèÒª¾¹ýÕâôһ¸ö¹ý³Ì¡£¼Ç×ÅÄãËùѧµÄ¼ÌÐø¹ýÏÂÈ¥¡£ ...
£¨³ö´¦£ºhttp://down.vipcn.com/£©
|