Dissecting a C# Application

Total Page:16

File Type:pdf, Size:1020Kb

Load more

Dissecting a C# Application Inside SharpDevelop Christian Holm Mike Krüger Bernhard Spuida Dissecting a C# Application Inside SharpDevelop © 2004 Apress All rights reserved. No part of this book may be reproduced, stored in a retrieval system or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embodied in critical articles or reviews. The authors and publisher have made every effort in the preparation of this book to ensure the accuracy of the information. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Apress, nor its dealers or distributors, will be held liable for any damages caused or alleged to be caused either directly or indirectly by this book. First Printed February 2003. Published by Apress L.P. 2560 Ninth Street, Suite 219, Berkeley, CA 94710 ISBN 1-86100-817-1 Trademark Acknowledgments We has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, we cannot guarantee the accuracy of this information. Credits Authors Lead Technical Reviewer Christian Holm Christoph Wille Mike Krüger Bernhard Spuida Technical Reviewers Natalia Bortniker Commissioning Editor Jeroen Frijters Dan Kent Gavin McKay Markus Palme Technical Editors David Schultz Arun Nair Erick Sgarbi Veena Nair Jon Shute Gavin Smyth Managing Editor Poul Staugaard Louay Fatoohi Helmut Watson Project Manager Production Coordinator Charlotte Smith Neil Lote Indexer Production Assistant Andrew Criddle Paul Grove Proofreader Cover Chris Smith Natalie O' Donnell What You Need to Use This Book The following is the recommended system requirements for compiling and running SharpDevelop: ❑ Windows 2000 Professional or later ❑ The .NET Framework SDK (Freely available from Microsoft) In addition, this book assumes the following knowledge: ❑ Sound knowledge of .NET Framework fundamentals ❑ A good understanding of the C# Language Summary of Contents Introduction 1 Chapter 1: Features at a Glance 7 Chapter 2: Designing the Architecture 23 Chapter 3: Implementing the Core 51 Chapter 4: Building the Application with Add-ins 81 Chapter 5: Providing Functionality with Workspace Services 107 Chapter 6: The User Interface 135 Chapter 7: Internationalization 169 Chapter 8: Document Management 189 Chapter 9: Syntax Highlighting 219 Chapter 10: Search and Replace 235 Chapter 11: Writing the Editor Control 263 Chapter 12: Writing the Parser 291 Chapter 13: Code Completion and Method Insight 329 Chapter 14: Navigating Code with the Class Scout and the Assembly Scout 369 Chapter 15: The Designer Infrastructure 413 Chapter 16: mplementing a Windows Forms Designer 437 Chapter 17: Code Generation 465 Index 499 Table of Contents Introduction 1 The Code in This Book 2 Conventions 2 Customer Support 3 How to Download the Sample Code for the Book 3 Chapter 1: Features at a Glance 7 The idea behind SharpDevelop 8 SharpDevelop Software Requirements 8 SharpDevelop's Panels and Views 9 Limitations 12 Customizing SharpDevelop 12 Internationalization 12 Defining the Appearance 13 Customizations for Coding 14 Getting Started with Templates 14 Changing Syntax Highlighting 14 Code Completion and Method Insight 15 Bookmarks 16 Search and Replace Functionality 16 Compiling the Code 17 Managing Projects 17 Combines and Projects – What's in a Name? 17 Navigating the Project 17 The Project and Class Views of the World 18 Creating Windows Forms 18 Adding Controls to Windows Forms 19 Properties and Formatting of Controls 20 Summary 20 Table of Contents Chapter 2: Designing the Architecture 23 History of Architectural Design Decisions 23 The Early Stages 23 Building SharpDevelop with SharpDevelop 24 Correcting Bad Design Decisions 26 The Design Decisions 27 Designing Component-Exchangeability 29 Best Practices 30 Design Patterns 30 Singleton 31 Factory 31 Decorator 33 Strategy 35 Memento 36 Proxy 37 Coding Style Guideline 39 Defect Tracking and Testing 39 Bug Tracker 39 Unit Tests 40 Refactor Frequently 41 Design and Refactoring 42 Summary 48 Chapter 3: Implementing the Core 51 The AddIn Tree 52 Advantages of Using the AddIn Tree 53 The AddIn Tree Superstructure 56 Add-in Definition 57 From Tree Node to Running Object 60 Codon Creation 62 Conditions 64 AddIn Management 66 Property Management in SharpDevelop 70 The Idea behind the IXmlConvertable Interface 71 Overview of the IProperties Interface 71 The Default Implementation 72 Properties at Work 75 Property Persistence 76 Summary 79 ii Table of Contents Chapter 4: Building the Application with Add-ins 81 Working with Codons 82 The ICommand Interface 82 Making Menus Work 85 Codon Overview 93 Wiring up Add-ins with Conditions 96 Condition Structure 97 Defining Conditions 98 Overview of Available Conditions 100 Summary 104 Chapter 5: Providing Functionality with Workspace Services 107 Implementation Considerations 107 Requirements for Services 108 The ServiceManager 109 Defining Services 111 Common Services at your Service 112 File Utility Service 113 Property Service 119 Resource Service 119 String Parser Service 119 Ambience Service 121 Class Browser Icons Service 123 File Service 124 Project Service 126 Parser Service 131 Other Services 133 Summary 133 Chapter 6: The User Interface 135 Display Management 136 The Workbench Window 136 Views 137 Pads 139 Views and Pads Applied – An Integrated HTML Help Viewer 141 The HTML View 142 Navigating the Help File 148 Layout Managers 153 The Current and Future Implementation 166 Summary 167 iii Table of Contents Chapter 7: Internationalization 169 Handling Internationalization in SharpDevelop 171 Redrawing with Events 173 Accessing Resources 176 Managing Translations 180 The Translation Web Application 181 Localization Implications 182 Compiling to Resource Files 182 Generating Resource Files from XML 182 Generating Resource Files from the Database 184 Summary 186 Chapter 8: Document Management 189 Text Representation 190 Basic Sequence Data Structures 190 Arrays 190 Linked Lists 192 The Gap Buffer Approach 192 Theory of the Gap Buffer 193 The Gap Buffer in Practice 194 The Future – The Piece Table 197 Composite Sequence Data Structures 198 Representing Lines 199 Caret and Selection Management 206 The Text Model 210 Putting It All Together 212 Summary 216 Chapter 9: Syntax Highlighting 219 Syntax Highlighting Definitions 220 Increasing Ease of Use with XML 220 Implementing Syntax Highlighting 226 Validation of the Syntax Highlighting Definition File 226 The Sequence of Events from the Opening of a File to the Highlighting of the Text Editor Window 231 Summary 233 iv Table of Contents Chapter 10: Search and Replace 235 The Search Strategy 235 Inside Search and Replace 249 Basic Find and Replace Implementation 249 Using Algorithms 252 The Brute Force Algorithm 254 The Knuth-Morris-Pratt (KMP) Algorithm 256 Wildcard Search Strategy 257 Summary 260 Chapter 11: Writing the Editor Control 263 Introduction to the Editor 263 The TextArea Control 265 Theory 265 Getting Started 266 Event Handling 272 Updating 277 The TextAreaPainter 279 Mouse Management 285 Folding 286 SharpPad 287 Summary 289 Chapter 12: Writing the Parser 291 Need for a Parser 291 Parser and Language Theory 292 Basic Definitions and Theory 292 Grammar 292 Parsing 295 Technical Requirements 296 The SharpDevelop Parser 297 Design Decisions 297 Implementation 298 The Big Picture 298 Reflection Parsing for Assemblies 299 Persistent Parsing for the Framework Class Library 304 The C# Parser for the Editor 309 The Abstract Parser 316 Putting It All Together in the Parser Service 318 Summary 326 v Table of Contents Chapter 13: Code Completion and Method Insight 329 Resolving Matters 329 Code Completion 340 Method Insight 357 Summary 366 Chapter 14: Navigating Code with the Class Scout and the Assembly Scout 369 The Class Scout 369 Implementing the Class Scout 370 The Assembly Scout 383 Browsing References with an Assembly Scout 383 Writing the Assembly Scout 385 Summary 411 Chapter 15: The Designer Infrastructure 413 Forms Designer Overview 413 Implementation Considerations 414 Design Overview 415 The .NET Component Model 416 The Service Interfaces 418 .NET Designers 419 The Root Designer 420 Designer Host Implementation 421 Designer Host Services 431 The ComponentChangeService 431 The Name Creation Service 432 The Design Panel 433 Summary 434 vi Table of Contents Chapter 16: Implementing a Windows Forms Designer 437 Designer Services 437 Toolbox Service 438 Menu Command Service 442 Executing the Standard Commands 446 Implementing a Key Event Handler 447 Selection Service 450 Additional Important Services 454 Designer Option Service 455 Dictionary Service 457 UI Service 457 Type Descriptor Filter Service 460 Unimplemented Services 462 Summary 462 Chapter 17: Code Generation 465 Making Components Persistent 465 The XML Forms Persistence Format 466 Generating the XML 467 Loading the XML 470 The Designer Serialization Service 474 Generating C#/VB.NET Code 475 Round-tripping 484 Summary 496 Index 499 vii Table of Contents viii About the Authors Christian Holm Christian started his writing career in mid-2000, writing technical articles for AspHeute.com, which has grown to the largest German-centric developer platform for Active Server Pages and Microsoft .NET-related technology. His focus shifted from classic ASP to .NET when he was introduced to Microsoft’s .NET vision shortly after it was introduced to the public at the Professional Developers Conference 2000 in Orlando. Since that time he has eagerly adapted the rich features of the .NET technology for his business and additionally revealed the attained .NET experience to the developers reading his articles at AspHeute.com. In 2001 he got in touch with Wrox Press to write his first chapter for the Professional .NET Framework book. Since then he has worked for Wrox on freelance basis as a technical editor. I would like to thank everybody involved in this project at Wrox, especially Charlotte Smith and Daniel Kent, for their great support on this book project and the technical editors, especially Arun Nair, for their valuable comments on my drafts.
Recommended publications
  • A Comparison of C++, C#, Java, and PHP in the Context of E-Learning

    A Comparison of C++, C#, Java, and PHP in the Context of E-Learning

    A Comparison of C++, C#, Java, and PHP in the context of e-learning MIKAEL OLSSON KTH Information and Communication Technology Master of Science Thesis Stockholm, Sweden 2009 TRITA-ICT-EX-2009:8 A Comparison of C++, C#, Java, and PHP in the context of e‐learning Mikael Olsson April 30, 2009 Master’s Thesis in Computer Science Royal Institute of Technology Examiner: Prof. Gerald Q. Maguire Jr. ‐ i ‐ Abstract The first part of this master thesis presents an effective method for producing video tutorials. This method was used during this thesis project to create tutorials on the e- learning site PVT (http://www.programmingvideotutorials.com). Part one also discloses how the production method was developed and how tutorials produced using this method compare to professional video tutorials. Finally, it evaluates the result of this thesis work and the efficiency of the production method. The second part of this thesis compares the syntactical similarities and differences between four of the languages taught via video tutorials for PVT. These languages are: C++, C#, Java, and PHP. The purpose of this comparison is to provide a bridge for programmers knowing one of these languages to rapidly learn one or more of the other languages. The reason why this would be necessary is because there is no single language suited for every area of software development. Knowing a multitude of languages gives a programmer a wider range of job opportunities and more choices in how to solve their problems. Part two of the thesis also includes a comparison of Java and C# in the context of a video tutorial series that shows how to build a basic text editor.
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria

    Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria

    Department of Computer Science and Software Engineering Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Jiang Li Sleiman Rabah Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] Mingzhi Liu Yuanwei Lai Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] COMP 6411 - A Comparative studies of programming languages 1/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai This page was intentionally left blank COMP 6411 - A Comparative studies of programming languages 2/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai Abstract There are many programming languages in the world today.Each language has their advantage and disavantage. In this paper, we will discuss ten programming languages: C++, C#, Java, Groovy, JavaScript, PHP, Schalar, Scheme, Haskell and AspectJ. We summarize and compare these ten languages on ten different criterion. For example, Default more secure programming practices, Web applications development, OO-based abstraction and etc. At the end, we will give our conclusion that which languages are suitable and which are not for using in some cases. We will also provide evidence and our analysis on why some language are better than other or have advantages over the other on some criterion. 1 Introduction Since there are hundreds of programming languages existing nowadays, it is impossible and inefficient
  • Link IDE : a Real Time Collaborative Development Environment

    Link IDE : a Real Time Collaborative Development Environment

    San Jose State University SJSU ScholarWorks Master's Projects Master's Theses and Graduate Research Spring 2012 Link IDE : A Real Time Collaborative Development Environment Kevin Grant San Jose State University Follow this and additional works at: https://scholarworks.sjsu.edu/etd_projects Part of the Computer Sciences Commons Recommended Citation Grant, Kevin, "Link IDE : A Real Time Collaborative Development Environment" (2012). Master's Projects. 227. DOI: https://doi.org/10.31979/etd.rqpj-pj3k https://scholarworks.sjsu.edu/etd_projects/227 This Master's Project is brought to you for free and open access by the Master's Theses and Graduate Research at SJSU ScholarWorks. It has been accepted for inclusion in Master's Projects by an authorized administrator of SJSU ScholarWorks. For more information, please contact [email protected]. Link IDE : A Real Time Collaborative Development Environment A Project Report Presented to The Faculty of the Department of Computer Science San José State University In Partial Fulfillment of the Requirements for the Degree Master of Science in Computer Science by Kevin Grant May 2012 1 © 2012 Kevin Grant ALL RIGHTS RESERVED 2 SAN JOSE STATE UNIVERSITY The Undersigned Project Committee Approves the Project Titled Link : A Real Time Collaborative Development Environment by Kevin Grant APPROVED FOR THE DEPARTMENT OF COMPUTER SCIENCE SAN JOSÉ STATE UNIVERSITY May 2012 ------------------------------------------------------------------------------------------------------------ Dr. Soon Tee Teoh, Department
  • Programming with Windows Forms

    Programming with Windows Forms

    A P P E N D I X A ■ ■ ■ Programming with Windows Forms Since the release of the .NET platform (circa 2001), the base class libraries have included a particular API named Windows Forms, represented primarily by the System.Windows.Forms.dll assembly. The Windows Forms toolkit provides the types necessary to build desktop graphical user interfaces (GUIs), create custom controls, manage resources (e.g., string tables and icons), and perform other desktop- centric programming tasks. In addition, a separate API named GDI+ (represented by the System.Drawing.dll assembly) provides additional types that allow programmers to generate 2D graphics, interact with networked printers, and manipulate image data. The Windows Forms (and GDI+) APIs remain alive and well within the .NET 4.0 platform, and they will exist within the base class library for quite some time (arguably forever). However, Microsoft has shipped a brand new GUI toolkit called Windows Presentation Foundation (WPF) since the release of .NET 3.0. As you saw in Chapters 27-31, WPF provides a massive amount of horsepower that you can use to build bleeding-edge user interfaces, and it has become the preferred desktop API for today’s .NET graphical user interfaces. The point of this appendix, however, is to provide a tour of the traditional Windows Forms API. One reason it is helpful to understand the original programming model: you can find many existing Windows Forms applications out there that will need to be maintained for some time to come. Also, many desktop GUIs simply might not require the horsepower offered by WPF.
  • 8 C# Development Tools

    8 C# Development Tools

    Object Oriented Programming using C# C# Development Tools 8 C# Development Tools Introduction This chapter will introduce the reader to several development tools that support the development of large scale C# systems. We will also consider the importance of documentation and show tools can be used to generate documentation for systems you create (almost automatically). Objectives By the end of this chapter you will be able to…. • Find details of several professional and free interactive development environments • Understand the importance of the software documentation tools and the value of embedding XML comments within your code. • Write XML comments and generate automatic documentation for your programs. This chapter consists of eight sections :- 1) Tools for Writing C# Programs…. 2) Microsoft Visual Studio 3) SharpDevelop 4) Automatic Documentation 5) Sandcastle Help File Builder 6) GhostDoc 7) Adding Namespace Comments 8) Summary 8.1 Tools for Writing C# Programs Whatever mode of execution is employed (see section 1.7), programmers can work with a variety of tools to create source code. It is possible to write C# programs using simple discrete tools such as a plain text editor (e.g. Notepad) and a separate compiler invoked manually as required. However virtually all programmers would use a powerful Integrated Development Environment (IDE) which use compilers and other standard tools behind a seamless interface. Even more sophisticated tools Computer Aided Software Engineering (CASE) tools exist which integrate the implementation process with other phases of the software development lifecycle. CASE tools could take UML class diagrams, generated as part of the software analysis and design phase, and generate classes and method stubs automatically saving some of the effort required to write the C# code (ie.
  • Martin Koníček Debugger Frontent for the Sharpdevelop

    Martin Koníček Debugger Frontent for the Sharpdevelop

    Charles University in Prague Faculty of Mathematics and Physics MASTER THESIS Martin Koníček Debugger Frontent for the SharpDevelop IDE Department of Software Engineering Supervisor of the master thesis: Mgr. Pavel Ježek Study programme: Computer science Specialization: Software systems Prague 2011 I would like to thank my supervisor Pavel Ježek for his time and his very helpful, constructive advice on this thesis. I would like to extend a very honest “thank you” to David Srbecký, the author of the SharpDevelop Debugger and Daniel Grunwald, the lead developer of SharpDevelop IDE. They were both very helpful and the work on this thesis probably wouldn’t start without them. I would also like to thank Christoph Wille for running the project, Siegfried Pammer and Matt Ward for all their contributions and enthusiasm and of course Mike Krüger for originally starting the SharpDevelop project. They all deserve much respect for their work. Last but not least, I thank Google for supporting students to work on interesting open source projects. I declare that I carried out this master thesis independently, and only with the cited sources, literature and other professional sources. I understand that my work relates to the rights and obligations under the Act No. 121/2000 Coll., the Copyright Act, as amended, in particular the fact that the Charles University in Prague has the right to conclude a license agreement on the use of this work as a school work pursuant to Section 60 paragraph 1 of the Copyright Act. In Prague Martin Koníček Název práce: Debugger Frontent for the SharpDevelop IDE Autor: Martin Koníček Katedra / Ústav: Department of Software Engineering Vedoucí diplomové práce: Mgr.
  • Programming Shadows

    Programming Shadows

    Programming Shadows Computer programming in the context of the Sundial Simon Wheaton-Smith FRI, MBCS, CITP Phoenix, AZ 1 ILLUSTRATING TIME’S SHADOW Programming Shadows by Simon Wheaton-Smith my business card in 1970 ISBN 978-0-9960026-2-2 Library of Congress Control Number: 2014904841 Simon Wheaton-Smith www.illustratingshadows.com [email protected] (c) 2004-2020 Simon Wheaton-Smith All rights reserved. February 14, 2017 April 1, 2020 2 THE ILLUSTRATING SHADOWS COLLECTION Illustrating Shadows provides several books or booklets:- Simple Shadows Build a horizontal dial for your location. Appropriate theory. Cubic Shadows Introducing a cube dial for your location. Appropriate theory. Cutting Shadows Paper cutouts for you to make sundials with. Illustrating Times Shadow the big book Illustrating Times Shadow ~ Some 400 pages covering almost every aspect of dialing. Includes a short appendix. Appendices Illustrating Times Shadow ~ The Appendices ~ Some 180 pages of optional detailed appendix material. Supplement Supplemental Shadows ~ Material in the form of a series of articles, covers more on the kinds of time, declination confusion, other proofs for the vertical decliner, Saxon, scratch, and mass dials, Islamic prayer times (asr), dial furniture, and so on! Programming Shadows A book discussing many programming languages, their systems and how to get them, many being free, and techniques for graphical depictions. This covers the modern languages, going back into the mists of time. Legacy languages include ALGOL, FORTRAN, the IBM 1401 Autocoder and SPS, the IBM 360 assembler, and Illustrating Shadows provides simulators for them, including the source code. Then C, PASCAL, BASIC, JAVA, Python, and the Lazarus system, as well as Octave, Euler, and Scilab.
  • Comparative Studies of Six Programming Languages

    Comparative Studies of Six Programming Languages

    Comparative Studies of Six Programming Languages Zakaria Alomari Oualid El Halimi Kaushik Sivaprasad Chitrang Pandit Concordia University Concordia University Concordia University Concordia University Montreal, Canada Montreal, Canada Montreal, Canada Montreal, Canada [email protected] [email protected] [email protected] [email protected] Abstract Comparison of programming languages is a common topic of discussion among software engineers. Multiple programming languages are designed, specified, and implemented every year in order to keep up with the changing programming paradigms, hardware evolution, etc. In this paper we present a comparative study between six programming languages: C++, PHP, C#, Java, Python, VB ; These languages are compared under the characteristics of reusability, reliability, portability, availability of compilers and tools, readability, efficiency, familiarity and expressiveness. 1. Introduction: Programming languages are fascinating and interesting field of study. Computer scientists tend to create new programming language. Thousand different languages have been created in the last few years. Some languages enjoy wide popularity and others introduce new features. Each language has its advantages and drawbacks. The present work provides a comparison of various properties, paradigms, and features used by a couple of popular programming languages: C++, PHP, C#, Java, Python, VB. With these variety of languages and their widespread use, software designer and programmers should to be aware
  • Towards Left Duff S Mdbg Holt Winters Gai Incl Tax Drupal Fapi Icici

    Towards Left Duff S Mdbg Holt Winters Gai Incl Tax Drupal Fapi Icici

    jimportneoneo_clienterrorentitynotfoundrelatedtonoeneo_j_sdn neo_j_traversalcyperneo_jclientpy_neo_neo_jneo_jphpgraphesrelsjshelltraverserwritebatchtransactioneventhandlerbatchinsertereverymangraphenedbgraphdatabaseserviceneo_j_communityjconfigurationjserverstartnodenotintransactionexceptionrest_graphdbneographytransactionfailureexceptionrelationshipentityneo_j_ogmsdnwrappingneoserverbootstrappergraphrepositoryneo_j_graphdbnodeentityembeddedgraphdatabaseneo_jtemplate neo_j_spatialcypher_neo_jneo_j_cyphercypher_querynoe_jcypherneo_jrestclientpy_neoallshortestpathscypher_querieslinkuriousneoclipseexecutionresultbatch_importerwebadmingraphdatabasetimetreegraphawarerelatedtoviacypherqueryrecorelationshiptypespringrestgraphdatabaseflockdbneomodelneo_j_rbshortpathpersistable withindistancegraphdbneo_jneo_j_webadminmiddle_ground_betweenanormcypher materialised handaling hinted finds_nothingbulbsbulbflowrexprorexster cayleygremlintitandborient_dbaurelius tinkerpoptitan_cassandratitan_graph_dbtitan_graphorientdbtitan rexter enough_ram arangotinkerpop_gremlinpyorientlinkset arangodb_graphfoxxodocumentarangodborientjssails_orientdborientgraphexectedbaasbox spark_javarddrddsunpersist asigned aql fetchplanoriento bsonobjectpyspark_rddrddmatrixfactorizationmodelresultiterablemlibpushdownlineage transforamtionspark_rddpairrddreducebykeymappartitionstakeorderedrowmatrixpair_rddblockmanagerlinearregressionwithsgddstreamsencouter fieldtypes spark_dataframejavarddgroupbykeyorg_apache_spark_rddlabeledpointdatabricksaggregatebykeyjavasparkcontextsaveastextfilejavapairdstreamcombinebykeysparkcontext_textfilejavadstreammappartitionswithindexupdatestatebykeyreducebykeyandwindowrepartitioning
  • Freeware-List.Pdf

    Freeware-List.Pdf

    FreeWare List A list free software from www.neowin.net a great forum with high amount of members! Full of information and questions posted are normally answered very quickly 3D Graphics: 3DVia http://www.3dvia.com...re/3dvia-shape/ Anim8or - http://www.anim8or.com/ Art Of Illusion - http://www.artofillusion.org/ Blender - http://www.blender3d.org/ CreaToon http://www.creatoon.com/index.php DAZ Studio - http://www.daz3d.com/program/studio/ Freestyle - http://freestyle.sourceforge.net/ Gelato - http://www.nvidia.co...ge/gz_home.html K-3D http://www.k-3d.org/wiki/Main_Page Kerkythea http://www.kerkythea...oomla/index.php Now3D - http://digilander.li...ng/homepage.htm OpenFX - http://www.openfx.org OpenStages http://www.openstages.co.uk/ Pointshop 3D - http://graphics.ethz...loadPS3D20.html POV-Ray - http://www.povray.org/ SketchUp - http://sketchup.google.com/ Sweet Home 3D http://sweethome3d.sourceforge.net/ Toxic - http://www.toxicengine.org/ Wings 3D - http://www.wings3d.com/ Anti-Virus: a-squared - http://www.emsisoft..../software/free/ Avast - http://www.avast.com...ast_4_home.html AVG - http://free.grisoft.com/ Avira AntiVir - http://www.free-av.com/ BitDefender - http://www.softpedia...e-Edition.shtml ClamWin - http://www.clamwin.com/ Microsoft Security Essentials http://www.microsoft...ity_essentials/ Anti-Spyware: Ad-aware SE Personal - http://www.lavasoft....se_personal.php GeSWall http://www.gentlesec...m/download.html Hijackthis - http://www.softpedia...ijackThis.shtml IObit Security 360 http://www.iobit.com/beta.html Malwarebytes'
  • Contents [Edit] Total Cost of Ownership

    Contents [Edit] Total Cost of Ownership

    Comparisons between the Microsoft Windows and Linux computer operating systems are a long-running discussion topic within the personal computer industry.[citation needed] Throughout the entire period of the Windows 9x systems through the introduction of Windows 7, Windows has retained an extremely large retail sales majority among operating systems for personal desktop use, while Linux has sustained its status as the most prominent Free Software and Open Source operating system. Both operating systems are present on servers, embedded systems, mobile internet devices as well as supercomputers. Linux and Microsoft Windows differ in philosophy, cost, versatility and stability, with each seeking to improve in their perceived weaker areas. Comparisons of the two operating systems tend to reflect their origins, historic user bases and distribution models. Typical perceived weaknesses regularly cited have often included poor consumer familiarity with Linux, and Microsoft Windows' susceptibility to viruses and malware.[1][2] Contents [hide] 1 Total cost of ownership o 1.1 Real world experience 2 Market share 3 User interface 4 Installation and Live environments 5 Accessibility and usability 6 Stability 7 Performance 8 Support 9 Platform for third party applications o 9.1 Gaming 10 Software development 11 Security o 11.1 Threats and vulnerabilities o 11.2 Security features and architecture 12 Localization 13 See also 14 References 15 External links [edit] Total cost of ownership See also: Studies related to Microsoft In 2004, Microsoft
  • Herramienta De Desarrollo Netbeans Mendoza González, Geovanny

    Herramienta De Desarrollo Netbeans Mendoza González, Geovanny

    Universidad del Norte. Mendoza González Geovanny. 1 Herramienta de Desarrollo Netbeans Mendoza González, Geovanny. [email protected] Universidad del Norte de programación no tiene en su fila un IDE para Resumen—Netbeans es una Herramienta que se utiliza realizar sus respectivas tareas como el diseño y para desarrollar aplicaciones Web, Móvil y de Escritorio para desarrollo, tiende hacer muy desgastante para las diferentes lenguajes de programación como son Java, C++, Ruby y PHP entre otros. Es de código abierto, es personas porque estará desintegrado y necesitaría multiplataforma, multilenguaje, contiene servidores web y es ser configurado, por lo tanto no ayudaría al fácil de instalarlo e utilizarlo, en este artículo mencionaremos desarrollador o programador cumplir sus desde la Versión 7.4 también se conocerá los conceptos respectivas funciones. Así se puede afirmar que generales, historia, características, evolución y comparaciones para utilizar un Lenguaje de programación es con otros IDEs que se encuentra en el mercado pero quizás necesario tener un IDE completo en una empresa usted no conocía. (Jimenez, 2014) para realizar un buen desarrollo de software Índice de Términos— IDE, Multiplataforma, Multilenguaje, Frameworks. B. Cuál es el objetivo El objetivo del IDE es ayudar a la integración de I. INTRODUCCIÓN los lenguajes de programación con la plataformas de los sistemas operativo o entorno de En este documento se dará a conocer el potencial programación, facilita el diseño y desarrollo de una que tiene la Herramienta de Desarrollo Netbeans aplicación de sistemas informáticos escritorio, web todo comenzó en el año 1996 en un proyecto de o móvil y a su vez ayuda la productividad de la algunos estudiantes de la UNIVERSIDAD personas ya sea programador o desarrollador en el CAROLINA de la ciudad Praga del país Republica momento de la creación, actualización, Checa, la idea de ellos era realizar un IDE parecido compilación, depuración prueba e implementación o que se asemejara en ese entonces al lenguaje de aplicaciones informáticas.