标签: C++

  • 現如今,到底什麼技術堆疊最流行,我簡直不敢相信(全球調查)

     58沈剑 架构师之路

    技術人,都非常關注科技流行趨勢。
    那麼當下,全球什麼技術棧,什麼研發工具最流行呢? stackoverflow在23年底做了一個全球調查,涵蓋程式語言,資料庫,研發工具,IDE,AI輔助工具…. 等多方面。
    讓我們一起看看:我們是否在潮頭?中外又有什麼差異,值得我們反思借鏡的呢?
    第一項:開發語言(多選)

    各種語言的使用場景有所不同,抽取後端開發的常用語言:Python,45.32%Java,30.49%
    C#,29.16%
    C++,20.21%
    PHP,19.03%
    C,16.66%go,14.32%

    而大家問自己的體感,是這個狀況嗎?為什麼國外C#用很多,而go相對較少?而國內正好反過來呢?

    第二項:数据庫(多選)

    各種資料庫的使用場景有所不同(SQLite,Redis,ES),抽取後端固化儲存的資料庫:

    PostgreSQL:49.09%

    MySQL:40.59%

    SQL-Server:27.34%

    MongoDB:25.66%

    MariaDB:17.69%

    Dynamodb: 10.31%Oracle:10.06%
    社群研究中,PostgreSQL超越MySQL成為全球最受歡迎的資料庫!

    畫外音,較權威的DB-Engines的排名為:
    Oracle > MySQL > SQL-Server > PG

    這裡面,能看出一些國內外資料庫使用的差異:
    其一,國內外,開源與閉源的比例的差異。從全球統計資料來看,閉源商業資料庫 SQL-Server, Oracle 使用比例並不低;但是在國內,閉源商業資料庫的使用,卻沒有這麼高的比例,原因是什麼呢?
    其二,國內外,開源趨勢的差異。 PostgreSQL, MongoDB, MariaDB, Dynamodb… 等後起之秀,在中國幾乎沒有掀起什麼風浪,國內仍是MySQL的天下,原因又是什麼呢?
    其三,開源貢獻的差異。咱們的產品,排名最高的是:
    TiDB:0.19%,排名32位畫外音:國內聲音很大的OceanBase,PolarDB等產品都沒見影子。
    我們擁有全球最多的開發者、工程師、架構師、科學家、研究員… 然而,我們的科技創新競爭力卻… 為什麼會有這樣的差距?
    第三項:套件管理,依賴管理,打包工具(多選)

    這裡面,能看出一些國內外工具使用的差異:
    其一,容器化程度差異。從全球統計數據來看,Docker與K8s,基本上已經是標配,但國內的覆蓋率似乎沒有這麼高。容器化確實是降本增效的利器,為什麼大家的系統都會遷移不動?
    其二,Python流行度。 pip的排名如此靠前,比Make和Maven都高出一大截,與開發語言模組研究的結論是一致。為什麼國外Python比其他後端語言更受歡迎呢?
    畫外音:Make的比重超過Maven我沒想到的。
    第四項:IDE(多選)

    VS code:74.09%VS:28.74%
    IntelliJ IDEA:28.06%與大家預想的一樣嗎?

    國內外的差異在於:居然24.49%的人使用Notepad,22.59%的人使用Vim開發程序,這個比例應該是遠超國人的吧?
    畫外音:

    1. 沒有看到Vim與emacs之爭,emacs退出歷史舞台了嗎?

    2. 我當時用Source Insight與Vim寫C++,用Notepad寫PHP。為什麼?我的「小師傅」用這幾個工具。
    第五項:AI輔助工具(多選)

    在國外,工程師幾乎100%都用上AI輔助工具了,而且其中83%的工程師正用ChatGPT!兄弟姊妹們,你們用ChatGPT嗎,難道不自慚形穢嗎?
    第六項:AI程式輔助工具

    在國外,56%的工程師都用上Copilot輔助程式了!兄弟姊妹們,你們用著Copilot嗎,不自慚形穢嗎?
    今後,淘汰我們的可不是AI,而是那些用AI工具的其他工程師!
    第七項:文件管理與非同步協同(多選)

    Jira,遙遙領先confluence,屈居第二Markdown File,穩居第三Trello與Notion緊跟著畫外音:wiki大家都不用了嗎?

    對比國內,文件有什麼用,還要Markdown File?那更不可能了。即使有文檔,也只寫一次,接口與文檔,是不太可能對的上的。出了問題怎麼辦?看代碼呀!
    為什麼國內的工程師如此不重視文件?我是這麼考慮的:
    其一,習慣。
    看文檔,浪費我自己的時間,又麻煩。
    問別人,我比較方便。打攪別人?我才不管。
    長此以往,寫了文檔也沒人看,誰還寫文檔?

    其二,專案壓力。開發週期這麼緊張,程式碼都寫不完,還寫文件?當文檔成為額外的負擔,誰還寫?
    其三,文化。
    我只是暫時在這個模組,這個崗位,這個公司。混口飯吃而已,過一段時間就跳槽了。沒有文檔,我舉足輕重,現在出了問題,只有我能搞定。傳承?是給自己立競爭對手。未來出了問題?看代碼去呀,與我無關。
    結束語
    看完stackoverflow的2023年度流行技術棧與研發工具研究結果,感觸良多:為何國外C#,SQL-Server,Oracle用的多?咱們對開源的貢獻,為何遠低於國外?容器化,先進又好用,為何難以推進,使用率遠低於國外?手搓程式碼的工程師比例,為何遠低於國外? GPT與Copilot的使用比例,為何遠低於國外?對文檔的重視程度,為何遠低於國外?

  • [PDF]C++程式設計教程—基於Visual Studio 2008(簡體書)

    [PDF]C++程式設計教程—基於Visual Studio 2008(簡體書)
    20651102-1_e.jpg
    本書從實用的角度出發,詳細介紹了C++語言基礎、面向對象的C++語言程序設計、Windows編程基礎、Visual C++2008開始平臺、MFC基本應用程序、用戶界面設計、對話框和常用控件、文檔和視圖、圖形與文本等知識,并介紹了Visual C++2008的高級應用以及開發實例。每章均配有刊題,以指導讀者深入地進行學習。本書內容豐富、通俗易懂,概念清晰、深入淺出,實例豐富、實用性強,對于Visual C++2008開發平臺初學者,通過對本教材的學習可以熟練掌握操作并能夠解決實際工程問題。
    本書可作為高等學校計算機專業C++語言程序設計課程的教材或教學參考用書,也可作為通信、電子信息、自動化等相關專業教材。 (更多…)
  • C++ Primer 3rd

    C++ Primer 3rd

    thumbnail[1].jpg

    This new edition of C++ Primer, a favorite choice for a first C++ book, has been greatly improved with the latest and greatest on C++, stressing the built-in language features of the C++ Standard Library. For this new version–weighing in at a massive 1,237 pages–Stanley Lippman, a well-known C++ expert, teams up with Josée Lajoie, who has helped define the C++ international language standard. The new material is excellent for programmers who want to get the most out of new and advanced features in the language.

    The authors still introduce the basics of C++, including data types and pointers, but quickly move on to stress how to get the most out of the built-in features of ISO-standard C++. Throughout this book built-in support for the C++ Standard Library, such as container classes like vectors and maps, and other standard features, such as the string class, are integrated into a tried-and- proven basic-language tutorial.

    The major new features of C++ (templates, name spaces, and run-time type identification) all get their due. The result is an authoritative guide to basic and advanced C++ in a clear and readable style, with plenty of short, practical examples throughout the text. The book includes exercises–some quite challenging–for every section: a perfect choice both for self-study and the classroom. –Richard Dragan

    C++ Primer 3rd  Download:http://www.itcert.org/thread-3991-1-1.html

  • C++ Primer 中文第三版

    C++ Primer (第三版 中文譯版)

    《C++ Primer》(中文第3版)(據原書第3版譯出)結合Stanley Lippman的實踐經驗和Josee Lajoie對於ANSI/ISO標準C++的深入理解,完整精確地講述了標準C++的特性和用法。

    C++ Primer的第三版結合了Stanley Lippman的實踐經驗和Josée Lajoie對於ANSI/ISO標準C++的深入理解。這本指導書的第三版已經被重新改寫過,以便更加精確地講述標準C++的特性和用法。在《C++ Primer中文版》(第3版)(據原書第3版譯出)中,對於C++初學者特別有價值的是一些來自真實世界中的程式例子,它們說明了泛型程式(generic program)的設計、物件導向程式的設計、範本的用法,

    C++ Primer是深入C++學習系列中的一本書,這是中文第三版,高清淅PDF完整版, 這本書的教程涉及到C++概述、基礎語言資料類型、物件設計、操作符和使用者定義的轉換、類和範本、泛型演算法、英漢對照索引表等內容。這本書適合不同層次的CSS程式設計者閱讀,可以作為入門教程,也可以作為手冊來用..

    C++ Primer (第三版 中文譯版) 點擊下載:http://www.itcert.org/thread-3990-1-1.html

  • Professional C# 2008 (Wrox Professional Guides)

    Professional C# 2008 (Wrox Professional Guides)  

    Professional C# 2008.jpg
    Professional C# 2008 starts by reviewing the overall architecture of .NET in Chapter 1 in order to give you the background you need to be able to write managed code. After that the book is divided into a number of sections that cover both the C# language and its application in a variety of areas.

    Part I: The C# Language gives a good grounding in the C# language itself. This section doesn’t presume knowledge of any particular language, although it does assume you are an experienced programmer. You start by looking at C#’s basic syntax and data types, and then explore the object-oriented features of C# before moving on to look at more advanced C# programming topics.

    Part II: Visual Studio looks at the main IDE utilized by C# developers world-wide: Visual Studio 2005. The two chapters in this section look at the best way to use the tool to build applications based upon either the .NET Framework 2.0 or 3.0. In addition to this, this section also focuses on the deployment of your projects.

    Part III: Base Class Libraries looks at the principles of programming in the .NET environment. In particular, you look at security, threading localization, transactions, how to build Windows services, and how to generate your own libraries as assemblies.

    Part IV: Data looks at accessing databases with ADO.NET and LINQ, and at interacting with directories and files. This part also extensively covers support in .NET for XML and on the Windows operating system side, and the .NET features of SQL Server 2008. Within the large space of LINQ, particular focus is put on LINQ to SQL and LINQ to XML.

    Part V: Presentation focuses on building classic Windows applications, which are called Windows Forms in .NET. Windows Forms are the thick-client version of applications, and using .NET to build these types of applications is a quick and easy way of accomplishing this task. In addition to looking at Windows Forms, you take a look at GDI+, which is the technology you will use for building applications that include advanced graphics. This section also covers writing components that will run on Web sites, serving up Web pages. This covers the tremendous number of new features that ASP.NET 3.5 provides. Finally, this section also shows how to build applications based upon the Windows Presentation Foundation and VSTO.

    Part VI: Communication covers Web services for platform-independent communication, .NET Remoting for communication between .NET clients and servers, Enterprise Services for the services in the background, and DCOM communication. With Message Queuing asynchronous, disconnected communication is shown. This section also looks at utilizing the Windows Communication Foundation and the Windows Workflow Foundation.

    Part VII: Appendices (Online): This section includes three appendices focused on how to build applications that take into account the new features and barriers found in Windows Vista. Also, this section looks at the upcoming ADO.NET Entities technology and how to use this new technology in your C# applications. You can find these three appendices online at www.wrox.com.

    [PDF] Professional C# 2008 Download:http://www.itcert.org/thread-3989-1-1.html

  • C#高級程式設計 中文第6版

    清華大學出版社最新推出《C#高級程式設計(第6版)》 本書為C#經典名著!是Wrox紅皮書中最暢銷的品種之一。從第1版開始就名滿天下,其第3版被評選為2005年最權威的十大IT圖書之一,並榮獲“2005年度引進版科技類優秀圖書”獎。更可賀的是,其第4版又榮獲“2006年最受讀者喜愛的十大技術開發類圖書”!第6版在詳盡論述C# 2005的基礎上,又增加了.NET 3.0 Framework的新特性,更加完善了C#的技術。是缺乏C#或.NET程式設計經驗,但有其他語言程式設計經驗的開發人員,以及瞭解.NET 2.0,而且對.NET 3.0和Visual Studio 2005有興趣的程式師全面掌握C#的…

    1.C#經典名著!是Wrox紅皮書中最暢銷的品種之一
    2.第3版被評選為2005年最權威的十大IT圖書之一,並榮獲“2005年度引進版科技類優秀圖書”獎 s&m d%QQ%H!k
    3.第4版又榮獲“2006年最受讀者喜愛的十大技術開發類圖書”,是2007年最暢銷的C#零售圖書
    4.第6版榮獲“2008年度優秀IT技術圖書”
    5.第6版在詳盡論述C# 2008的基礎上,又增加了.NET 3.5 Framework的新特性,更加完善了C#的技術,是.NET 3.5和Visual Studio 2008程式師全面掌握C#的首選教程。

    C#高級程式設計 中文第6版 載點:http://www.itcert.org/thread-3988-1-1.html

  • ASP.NET密技集錦(C#) – 許嘉仁

    ASP.NET密技集錦(C#)繁體中文版,作者許嘉仁恆逸資訊許嘉仁著名講師。此篇介紹C#技巧的文章,關於Server Control的文章,對於有些朋友來說,文章不算太難,主要是介紹經驗,作者希望通過實例讓程式師活用Server Control中的相關技巧,提高你的代碼水準。

    點擊下載:ASP.NET密技集錦(C#)

  • Beginning ASP.NET 4 in C# 2010

    Beginning ASP.NET 4 in C# 2010

    該書提供了詳盡的ASP.NET的覆蓋面,引導你從你的第一個步驟,一直到最先進的技術,如查詢從一個網頁資料庫和優化您的網站以獲得最佳性能。在這些網頁,你可以找到最好的做法和金鑰資料庫和XML的原則,全面的討論,你需要知道,以便與ASP.NET有效的技巧。

    The most up-to-date and comprehensive introductory ASP.NET book you’ll find on any shelf, Beginning ASP.NET 4 in C# 2010 guides you through Microsoft’s latest technology for building dynamic web sites. This book will enable you to build dynamic web pages on the fly, and assumes only the most basic knowledge of C#.

    The book provides exhaustive coverage of ASP.NET, guiding you from your first steps right up to the most advanced techniques, such as querying databases from within a web page and tuning your site for optimal performance. Within these pages, you’ll find tips for “best practices” and comprehensive discussions of key database and XML principles you need to know in order to be effective with ASP.NET. The book also emphasizes the invaluable coding techniques of object orientation and code behind, which will start you off on the track to building real-world web sites right from the beginning—rather than just faking it with simplified coding practices.

    By the time you’ve finished the book, you will have mastered the core techniques and have all the knowledge you need to begin work as a professional ASP.NET developer.

    Download: Beginning ASP.NET 4 in C# 2010