We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 112
Microsoft Visual Studio
From Wikipedia, the free encyclopedia
Microsoft Visual Studio
Screenshot of Visual Studio 2012, editing a program's source code in Visual Basic.NET Developer(s) Microsoft Stable release Visual Studio 2013 Update 4 CTP 1 (12.0.30825.00) (September 3, 2014; 49 days ago) [] [1]
Preview release Visual Studio "14" CTP 4(October 6, 2014; 16 days ago) [] [2]
Written in C++ and C# [3]
Operating system Microsoft Windows Available in Chinese, English, French, Portuguese, German, Italian, Japanese, Korean, Spanish and Russian Type Integrated development environment License Proprietary software Express edition: Registerware Other editions: Trialware [4]
Website www.visualstudio.com Microsoft Visual Studio is an integrated development environment (IDE) from Microsoft. It is used to develop computer programs for Microsoft Windows, as well as web sites, web applications and web services. Visual Studio uses Microsoft software development platforms such as Windows API, Windows Forms, Windows Presentation Foundation, Windows Storeand Microsoft Silverlight. It can produce both native code and managed code. Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built- in tools include a forms designer for building GUIapplications, web designer, class designer, and database schema designer. It accepts plug-ins that enhance the functionality at almost every level including adding support for source-control systems (like Subversion) and adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle(like the Team Foundation Server client: Team Explorer). Visual Studio supports different programming languages and allows the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists. Built-in languages include C, [5] C++and C++/CLI (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2010 [6] ). Support for other languages such as M, Python, and Ruby among others is available via language services installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Microsoft provides "Express" editions of its Visual Studio at no cost. Commercial versions of Visual Studio along with select past versions are available for free to students via Microsoft's DreamSpark program. [7]
Contents [hide] 1 Architecture 2 Features o 2.1 Code editor o 2.2 Debugger o 2.3 Designer o 2.4 Other tools o 2.5 Extensibility 3 Supported products o 3.1 Previous products 4 Editions o 4.1 Visual Studio Express o 4.2 Visual Studio Professional o 4.3 Visual Studio Premium o 4.4 Visual Studio Ultimate o 4.5 Visual Studio Test Professional o 4.6 Editions feature grid 5 History o 5.1 Visual Studio 97 o 5.2 Visual Studio 6.0 (1998) o 5.3 Visual Studio .NET (2002) o 5.4 Visual Studio .NET 2003 o 5.5 Visual Studio 2005 o 5.6 Visual Studio 2008 o 5.7 Visual Studio 2010 o 5.8 Visual Studio 2012 5.8.1 Interface controversies o 5.9 Visual Studio 2013 o 5.10 Visual Studio "14" 6 Visual Studio Application Lifecycle Management 7 Visual Studio LightSwitch 8 See also 9 References 10 External links Architecture[edit] Visual Studio does not support any programming language, solution or tool intrinsically, instead it allows the plugging of functionality coded as a VSPackage. When installed, the functionality is available as a Service. The IDE provides three services: SVsSolution, which provides the ability to enumerate projects and solutions; SVsUIShell, which provides windowing and UI functionality (including tabs, toolbars and tool windows); and SVsShell, which deals with registration of VSPackages. In addition, the IDE is also responsible for coordinating and enabling communication between services. [8] All editors, designers, project types and other tools are implemented as VSPackages. Visual Studio uses COM to access the VSPackages. The Visual Studio SDK also includes the Managed Package Framework (MPF), which is a set of managed wrappers around the COM-interfaces that allow the Packages to be written in any CLI compliant language. [9] However, MPF does not provide all the functionality exposed by the Visual Studio COM interfaces. [10] The services can then be consumed for creation of other packages, which add functionality to the Visual Studio IDE. Support for programming languages is added by using a specific VSPackage called a Language Service. A language service defines various interfaces which the VSPackage implementation can implement to add support for various functionalities. [11] Functionalities that can be added this way include syntax coloring, statement completion, brace matching, parameter information tooltips, member lists and error markers for background compilation. [11] If the interface is implemented, the functionality will be available for the language. Language services are to be implemented on a per-language basis. The implementations can reuse code from the parser or the compiler for the language. [11] Language services can be implemented either in native code or managed code. For native code, either the native COM interfaces or the Babel Framework (part of Visual Studio SDK) can be used. [12] For managed code, the MPF includes wrappers for writing managed language services. [13]
Visual Studio does not include any source control support built in but it defines two alternative ways for source control systems to integrate with the IDE. [14] A Source Control VSPackage can provide its own customised user interface. In contrast, a source control plugin using the MSSCCI (Microsoft Source Code Control Interface) provides a set of functions that are used to implement various source control functionality, with a standard Visual Studio user interface. [15][16] MSSCCI was first used to integrate Visual SourceSafewith Visual Studio 6.0 but was later opened up via the Visual Studio SDK. Visual Studio .NET 2002 used MSSCCI 1.1, and Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005, 2008 and 2010 use MSSCCI Version 1.3, which adds support for rename and delete propagation as well as asynchronous opening. [16]
Visual Studio supports running multiple instances of the environment (each with its own set of VSPackages). The instances use different registry hives (see MSDN's definition of the term "registry hive" in the sense used here) to store their configuration state and are differentiated by their AppId (Application ID). The instances are launched by an AppId-specific .exe that selects the AppId, sets the root hive and launches the IDE. VSPackages registered for one AppId are integrated with other VSPackages for that AppId. The various product editions of Visual Studio are created using the different AppIds. The Visual Studio Express edition products are installed with their own AppIds, but the Standard, Professional and Team Suite products share the same AppId. Consequently, one can install the Express editions side-by-side with other editions, unlike the other editions which update the same installation. The professional edition includes a superset of the VSPackages in the standard edition and the team suite includes a superset of the VSPackages in both other editions. The AppId system is leveraged by the Visual Studio Shell in Visual Studio 2008. [17]
Features[edit] Code editor[edit] Like any other IDE, it includes a code editor that supports syntax highlighting and code completion using IntelliSense for variables, functions, methods, loops and LINQ queries. [18] IntelliSense is supported for the included languages, as well as for XML and for Cascading Style Sheets and JavaScript when developing web sites and web applications. [19][20] Autocomplete suggestions appear in a modeless list box over the code editor window, in proximity of the editing cursor. In Visual Studio 2008 onwards, it can be made temporarily semi-transparent to see the code obstructed by it. [18] The code editor is used for all supported languages. The Visual Studio code editor also supports setting bookmarks in code for quick navigation. Other navigational aids include collapsing code blocks and incremental search, in addition to normal text search and regex search. [21] The code editor also includes a multi-item clipboard and a task list. [21] The code editor supports code snippets, which are saved templates for repetitive code and can be inserted into code and customized for the project being worked on. A management tool for code snippets is built in as well. These tools are surfaced as floating windows which can be set to automatically hide when unused or docked to the side of the screen. The Visual Studio code editor also supports code refactoring including parameter reordering, variable and method renaming, interface extraction and encapsulation of class members inside properties, among others. Visual Studio features background compilation (also called incremental compilation). [22][23] As code is being written, Visual Studio compiles it in the background in order to provide feedback about syntax and compilation errors, which are flagged with a red wavy underline. Warnings are marked with a green underline. Background compilation does not generate executable code, since it requires a different compiler than the one used to generate executable code. [24] Background compilation was initially introduced with Microsoft Visual Basic but has now been expanded for all included languages. [23]
Debugger[edit] Main article: Microsoft Visual Studio Debugger Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. It works with both managed code as well as native code and can be used for debugging applications written in any language supported by Visual Studio. In addition, it can also attach to running processes and monitor and debug those processes. [25] If source code for the running process is available, it displays the code as it is being run. If source code is not available, it can show the disassembly. The Visual Studio debugger can also create memory dumps as well as load them later for debugging. [26] Multi-threaded programs are also supported. The debugger can be configured to be launched when an application running outside the Visual Studio environment crashes. The debugger allows setting breakpoints (which allow execution to be stopped temporarily at a certain position) and watches (which monitor the values of variables as the execution progresses). [27] Breakpoints can be conditional, meaning they get triggered when the condition is met. Code can be stepped over, i.e., run one line (of source code) at a time. [28] It can either step into functions to debug inside it, or step over it, i.e., the execution of the function body isn't available for manual inspection. [28] The debugger supportsEdit and Continue, i.e., it allows code to be edited as it is being debugged (32 bit only; not supported in 64 bit). [29] When debugging, if the mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger lets certain functions be invoked manually from the Immediate tool window. The parameters to the method are supplied at the Immediate window. [30]
Designer[edit]
Visual Studio Web Designer in code editor view
Visual Studio 2005 in Class Designer view
This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (May 2008) Visual Studio includes a host of visual designers to aid in the development of applications. These tools include: Windows Forms Designer The Windows Forms designer is used to build GUI applications using Windows Forms. Layout can be controlled by housing the controls inside other containers or locking them to the side of the form. Controls that display data (like textbox, list box, grid view, etc.) can be bound to data sources like databases or queries. Data-bound controls can be created by dragging items from the Data Sources window onto a design surface. [31] The UI is linked with code using an event-driven programming model. The designer generates eitherC# or VB.NET code for the application. WPF Designer The WPF designer, codenamed Cider, [32] was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to author user interfaces targeting Windows Presentation Foundation. It supports all WPF functionality including data binding and automatic layout management. It generates XAML code for the UI. The generated XAML file is compatible with Microsoft Expression Design, the designer-oriented product. The XAML code is linked with code using a code-behindmodel. Web designer/development Visual Studio also includes a web-site editor and designer that allows web pages to be authored by dragging and dropping widgets. It is used for developing ASP.NET applications and supports HTML, CSS and JavaScript. It uses a code-behind model to link with ASP.NET code. From Visual Studio 2008 onwards, the layout engine used by the web designer is shared with Microsoft Expression Web. There is also ASP.NET MVC support for MVC technology as a separate download [33] and ASP.NET Dynamic Data project available from Microsoft. [34]
Class designer The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NETcode outlines for the classes and methods. It can also generate class diagrams from hand-written classes. Data designer The data designer can be used to graphically edit database schemas, including typed tables, primary and foreign keys and constraints. It can also be used to design queries from the graphical view. Mapping designer From Visual Studio 2008 onwards, the mapping designer is used by LINQ to SQL to design the mapping between database schemas and the classes that encapsulate the data. The new solution from ORM approach, ADO.NET Entity Framework, replaces and improves the old technology. Other tools[edit]
This section needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (May 2008) Open Tabs Browser The open tabs browser is used to list all open tabs and to switch between them. It is invoked using CTRL+TAB. Properties Editor The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items. Object Browser The Object Browser is a namespace and class library browser for Microsoft .NET. It can be used to browse the namespaces (which are arranged hierarchically) in managedassemblies. The hierarchy may or may not reflect the organization in the file system. Solution Explorer In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution. Team Explorer Team Explorer is used to integrate the capabilities of Team Foundation Server, the Revision Control System into the IDE (and the basis for Microsoft's CodePlex hosting environment for open source projects). In addition to source control it provides the ability to view and manage individual work items (including bugs, tasks and other documents) and to browse TFS statistics. It is included as part of a TFS install and is also available as a download for Visual Studio separately. [35][36] Team Explorer is also available as a stand-alone environment solely to access TFS services. Data Explorer Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows creation and alteration of database tables (either by issuing T-SQL commands or by using the Data designer). It can also be used to create queries and stored procedures, with the latter in either T-SQL or in managed code via SQL CLR. Debugging andIntelliSense support is available as well. Server Explorer The Server Explorer tool is used to manage database connections on an accessible computer. It is also used to browse running Windows Services, performance counters,Windows Event Log and message queues and use them as a datasource. [37]
Dotfuscator Software Services Community Edition Visual Studio includes a free 'light' version of PreEmptive Solutions' Dotfuscator product for code obfuscation and application-size reduction. [38] Starting with Visual Studio 2010, this version of Dotfuscator will include Runtime Intelligence capabilities that allow authors to gather end-user usage, performance, and stability information from their applications running in production. [39]
Text Generation Framework Visual Studio includes a full text generation framework called T4 which enables Visual Studio to generate text files from templates either in the IDE or via code. ASP.NET Web Site Administration Tool The ASP.NET Web Site Administration Tool allows for the configuration of ASP.NET websites. Visual Studio Tools for Office Visual Studio Tools for Office is a SDK and an add-in for Visual Studio that includes tools for developing for the Microsoft Office suite. Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it was a separate SKU that supported only Visual C# and Visual Basic languages or was included in the Team Suite. With Visual Studio 2008, it is no longer a separate SKU but is included with Professional and higher editions. A separate runtime is required when deploying VSTO solutions. Extensibility[edit] See also: List of Microsoft Visual Studio Add-ins and Visual Studio Extensibility Visual Studio allows developers to write extensions for Visual Studio to extend its capabilities. These extensions "plug into" Visual Studio and extend its functionality. Extensions come in the form of macros, add-ins, and packages. Macros represent repeatable tasks and actions that developers can record programmatically for saving, replaying, and distributing. Macros, however, cannot implement new commands or create tool windows. They are written using Visual Basic and are not compiled. [10] Add-Ins provide access to the Visual Studio object model and can interact with the IDE tools. Add-Ins can be used to implement new functionality and can add new tool windows. Add-Ins are plugged into the IDE via COM and can be created in any COM-compliant languages. [10] Packages are created using the Visual Studio SDK and provide the highest level of extensibility. They can create designers and other tools, as well as integrate other programming languages. The Visual Studio SDK provides unmanaged APIs as well as a managed API to accomplish these tasks. However, the managed API isn't as comprehensive as the unmanaged one. [10] Extensions are supported in the Standard (and higher) versions of Visual Studio 2005. Express Editions do not support hosting extensions. Visual Studio 2008 introduced the Visual Studio Shell that allows for development of a customized version of the IDE. The Visual Studio Shell defines a set of VSPackages that provide the functionality required in any IDE. On top of that, other packages can be added to customize the installation. The Isolated mode of the shell creates a new AppId where the packages are installed. These are to be started with a different executable. It is aimed for development of custom development environments, either for a specific language or a specific scenario. The Integrated mode installs the packages into the AppId of the Professional/Standard/Team System editions, so that the tools integrate into these editions. [17] The Visual Studio Shell is available as a free download. After the release of Visual Studio 2008, Microsoft created the Visual Studio Gallery. It serves as the central location for posting information about extensions to Visual Studio. Community developers as well as commercial developers can upload information about their extensions to Visual Studio .NET 2002 through Visual Studio 2010. Users of the site can rate and review the extensions to help assess the quality of extensions being posted. RSS feeds to notify users on updates to the site and tagging features are also planned. [40]
Supported products[edit]
This secti on n eeds addi tion al citat ions for v erifi cati on. Plea se help impr ove this artic le by addi ng citati ons to relia ble sour ces. Uns ourc ed mat erial may be chall enge d and rem oved . (M ay 2008 ) Microsoft Visual C++ Microsoft Visual C++ is Microsoft's implementation of the C and C++ compiler and associated languages- services and specific tools for integration with the Visual Studio IDE. It can compile either in C mode or C++ mode. For C, it follows the ISO C standard with parts of C99 specification along with MS-specific additions in the form of libraries. [41] For C++, it follows the ANSI C++ specification along with a few C++11 features. [42] It also supports the C++/CLI specification to write managed code, as well as mixed-mode code (a mix of native and managed code). Microsoft positions Visual C++ for development in native code or in code that contains both native as well as managed components. Visual C++ supports COM as well as the MFC library. For MFC development, it provides a set of wizards for creating and customizing MFC boilerplate code, and creating GUI applications using MFC. Visual C++ can also use the Visual Studio forms designer to design UI graphically. Visual C++ can also be used with the Windows API. It also supports the use of intrinsic functions, [43] which are functions recognized by the compiler itself and not implemented as a library. Intrinsic functions are used to expose theSSE instruction set of modern CPUs. Visual C++ also includes the OpenMP (version 2.0) specification. [44]
Microsoft Visual C# Microsoft Visual C#, Microsoft's implementation of the C# language, targets the .NET Framework, along with the language services that lets the Visual Studio IDE support C# projects. While the language services are a part of Visual Studio, the compiler is available separately as a part of the .NET Framework. The Visual C# 2008, 2010 and 2012 compilers support versions 3.0, 4.0 and 5.0 of the C# language specifications, respectively. Visual C# supports the Visual Studio Class designer, Forms designer, and Data designer among others. [45]
Microsoft Visual Basic Microsoft Visual Basic is Microsoft's implementation of the VB.NET language and associated tools and language services. It was introduced with Visual Studio .NET (2002). Microsoft has positioned Visual Basic for Rapid Application Development. [46][47] Visual Basic can be used to author both console applications as well as GUI applications. Like Visual C#, Visual Basic also supports the Visual Studio Class designer, Forms designer, and Data designer among others. Like C#, the VB.NET compiler is also available as a part of .NET Framework, but the language services that let VB.NET projects be developed with Visual Studio, are available as a part of the latter. Microsoft Visual Web Developer Microsoft Visual Web Developer is used to create web sites, web applications and web services using ASP.NET. Either C# or VB.NET languages can be used. Visual Web Developer can use the Visual Studio Web Designer to graphically design web page layouts. Team Foundation Server Included only with Visual Studio Team System, Team Foundation Server is intended for collaborative software development projects and acts as the server-side backend providing source control, data collection, reporting, and project-tracking functionality. It also includes the Team Explorer, the client tool for TFS services, which is integrated inside Visual Studio Team System. Previous products[edit] Visual FoxPro Visual FoxPro is a data-centric object-oriented and procedural programming language produced by Microsoft. It derives from FoxPro (originally known as FoxBASE) which was developed by Fox Software beginning in 1984. Visual FoxPro is tightly integrated with its own relational database engine, which extends FoxPro's xBase capabilities to support SQL queries and data manipulation. Visual FoxPro is a full-featured, [48] dynamic programming language that does not require the use of an additional general-purpose programming environment. Microsoft announced in 2007 that Visual FoxPro has been discontinued after version 9 Service Pack 2, but will remain supported until 2015. [49]
Visual SourceSafe Microsoft Visual SourceSafe is a source control software package oriented towards small software- development projects. The SourceSafe database is a multi-user, multi-process file-system database, using the Windows file system database primitives to provide locking and sharing support. All versions are multi-user, using SMB (file server) networking. [50][51][52] However, with Visual SourceSafe 2005, other clientserver modes were added, Lan Booster and VSS Internet (which used HTTP/HTTPS). Visual SourceSafe 6.0 was available as a stand-alone product [53] and was included with Visual Studio 6.0, and other products such as Office Developer Edition. Visual SourceSafe 2005 was available as a stand-alone product and included with the 2005 Team Suite. Team Foundation Server has superseded VSS as Microsoft's recommended platform for source control. Microsoft Visual J++/Microsoft Visual J# Microsoft Visual J++ was Microsoft's implementation of the Java language (with Microsoft-specific extensions) and associated language services. It was discontinued as a result of litigation from Sun Microsystems, and the technology was recycled into Visual J#, Microsoft's Java compiler for .NET Framework. J# was available with Visual Studio 2005 but was discontinued in Visual Studio 2008. Visual InterDev Visual InterDev was used to create web applications using Microsoft Active Server Pages (ASP) technologies. It supports code completion and includes database server management tools. It has been replaced with Microsoft Visual Web Developer. Editions[edit] Microsoft Visual Studio is available in the following editions or SKUs: [54]
Visual Studio Express[edit] Visual Studio Express Editions are a set of free lightweight individual IDEs which are provided as stripped-down versions of the Visual Studio IDE on a per-platform basis or per-language basis, i.e., it installs the development tools for the supported platforms (web, Windows, phone) or supported development languages (VB, C#) onto individual Visual Studio Shell AppIds. It includes only a small set of tools as compared to the other systems. Versions prior to 2013 Update 2 do not include support for plug-ins. x64 compilers are not included in the Visual Studio Express edition IDEs, but are available as part of a Windows Software Development Kit that can be installed separately. [55] After an initial announcement [56] that the Express 2012 release would be restricted to creating Windows 8 Metro-style applications, Microsoft responded to negative developer feedback by reversing that decision and announcing that desktop application development would also be supported. [57] Microsoft targets the Express IDEs at students and hobbyists. Express editions do not use the full MSDN Library but use the MSDN Essentials Library. The languages available as part of the Express IDEs are: [58]
Visual Basic Express Visual C++ Express Visual C# Express Visual Web Developer Express Express for Windows Phone Visual Studio Professional[edit] Visual Studio Professional Edition provides an IDE for all supported development languages. As of Visual Studio 2010, the Standard edition was dropped. [59] MSDN support is available as MSDN Essentials or the full MSDN library depending on licensing. It supports XML and XSLT editing, and can create deployment packages that only use ClickOnceand MSI. It includes tools like Server Explorer and integration with Microsoft SQL Server also. Windows Mobile development support was included in Visual Studio 2005 Standard, however, with Visual Studio 2008, it is only available in Professional and higher editions. Windows Phone 7 development support was added to all editions in Visual Studio 2010. Development for Windows Mobile is no longer supported in Visual Studio 2010; it is superseded by Windows Phone 7. Visual Studio Premium[edit] Visual Studio Premium Edition includes all of the tools in Visual Studio Professional and adds additional functionality such as code metrics, static code analysis, and database unit testing. Visual Studio Ultimate[edit] Visual Studio Ultimate provides a set of software and database development, collaboration, metrics, architecture, testing and reporting tools in addition to the features provided by Visual Studio Premium. As of Visual Studio 2010, the Team Suite edition was renamed to the Ultimate edition. [59] Visual Studio Ultimate offers a superset of toolsets based on theApplication Lifecycle Management (ALM) role it is being used for. Visual Studio Test Professional[edit] Visual Studio Test Professional is an edition which was introduced with Visual Studio 2010. Its focus is aimed at the dedicated tester role and includes support for the management of test environments, the ability to start and report on tests and to connect to Team Foundation Server. It does not include support for development or authoring of tests. [54]
Product Extensions Projects templates MSDN integration Debugging Profiling Static analysis IntelliTrace Unit test Code coverage Coded UI Test impact Load testing Lab management Architecture and Windows Phonedevelopment test analysis modelling Professional Yes Yes Full or Essentials Yes Yes No No Yes No No No No No No Yes Premium Yes Yes Full Yes Yes Yes No Yes Yes Yes Yes No No Read-only Yes Ultimate Yes Yes Full Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Test Professional No No Full No No No No No No No Yes No Yes No No History[edit] Prior to Visual Studio Version 4.0, there were Visual Basic 3, Visual C++, Visual FoxPro and Visual SourceSafe as separate products. Product name Codename Internal version Supported .NET Framework versions Release date Visual Studio N/A 4.0 N/A April 1995 Visual Studio 97 Boston 5.0 N/A February 1997 Visual Studio 6.0 Aspen 6.0 N/A June 1998 Visual Studio .NET (2002) Rainier 7.0 1.0 February 13, 2002 Visual Studio .NET 2003 Everett 7.1 1.1 April 24, 2003 Visual Studio Whidbey 8.0 2.0, 3.0 November 7, 2005 2005 Visual Studio 2008 Orcas 9.0 2.0, 3.0, 3.5 November 19, 2007 Visual Studio 2010 Dev10/Rosario 10.0 2.0, 3.0, 3.5, 4.0 April 12, 2010 Visual Studio 2012 Dev11 11.0 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2 September 12, 2012 Visual Studio 2013 Dev12 12.0 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2 October 17, 2013 Visual Studio 97[edit] Microsoft first released Visual Studio (codenamed Boston, [60] for the city of the same name, thus beginning the VS codenames related to places) [60] in 1997, bundling many of its programming tools together for the first time. Visual Studio 97 came in two editions: Visual Studio Professional and Visual Studio Enterprise, the professional edition has 3 CDs, and the enterprise on 4 CDs. It included Visual J++ 1.1 for Java programming and introduced Visual InterDev for creating dynamically generated web sites using Active Server Pages. [citation needed] There was a single companion CD that contained the Microsoft Developer Network library. Visual Studio 97 was Microsoft's first attempt at using the same development environment for multiple languages. Visual J++, InterDev, and the MSDN Library had all been using the same 'environment', called Developer Studio. [61]
Visual Studio was also sold as a bundle with the separate IDEs used for Visual C++, Visual Basic and Visual FoxPro. [17]
Visual Studio 6.0 (1998)[edit] The next version, version 6.0 (codenamed Aspen, after the ski resort in Colorado), [citation needed] was released in June 1998 and is the last version to run on the Windows 9xplatform. [62] Each version of each language in part also settled to v6.0, including Visual J++ which was prior v1.1, and Visual InterDev at the 1st release. The v6 edition of Microsoft was the core environment for the next four releases to provide programmers with an integrated look-alike platform. This led Microsoft to transition the development on the platform independent .NET Framework. Visual Studio 6.0 was the last version to include Visual J++, [63][64] which Microsoft removed as part of a settlement with Sun Microsystems that required Microsoft Internet Explorer not to provide support for the Java virtual machine. Visual Studio 6.0 came in two editions: Professional and Enterprise. [65] The Enterprise edition contained extra features not found in Professional edition, including: Application Performance Explorer Automation Manager Microsoft Visual Modeler RemAuto Connection Manager [citation needed]
Visual Studio Analyzer Visual Studio .NET (2002)[edit] Microsoft released Visual Studio .NET (VS.NET), codenamed Rainier (for Washington's Mount Rainier), in February 2002 (the beta version was released via Microsoft Developer Network in 2001). The biggest change was the introduction of a managed code development environment using the .NET Framework. Programs developed using .NET are not compiled to machine language (like C++ is, for example) but instead to a format called Microsoft Intermediate Language (MSIL) or Common Intermediate Language (CIL). When a CIL application executes, it is compiled while being executed into the appropriate machine language for the platform it is being executed on, thereby making code portable across several platforms. Programs compiled into CIL can be executed only on platforms which have an implementation of Common Language Infrastructure. It is possible to run CIL programs in Linux or Mac OS X using non-Microsoft .NET implementations like Mono and DotGNU. This was the first version of Visual Studio to require an NT-based Windows platform. [66] The installer enforces this requirement. Visual Studio .NET 2002 shipped in four editions: Academic, Professional, Enterprise Developer, and Enterprise Architect. Microsoft introduced C# (C-sharp), a new programming language, that targets .NET. It also introduced the successor to Visual J++ called Visual J#. Visual J# programs use Java's language-syntax. However, unlike Visual J++ programs, Visual J# programs can only target the .NET Framework, not the Java Virtual Machine that all other Java tools target. Visual Basic changed drastically to fit the new framework, and the new version was called Visual Basic .NET. Microsoft also added extensions to C++, called Managed Extensions for C++, so .NET programs could be created in C++. Visual Studio .NET can produce applications targeting Windows (using the Windows Forms part of the .NET Framework), the Web (using ASP.NET and Web Services) and, with an add-in, portable devices (using the .NET Compact Framework). The Visual Studio .NET environment was rewritten to partially use .NET. All languages are versions of Visual Studio, it has a cleaner interface and greater cohesiveness. [citation needed] It is also more customizable with tool windows that automatically hide when not in use. While Visual FoxPro 7 started out as part of Visual Studio .NET 2002, and early VS betas allowed debugging inside VFP-based DLLs, it was removed before release to follow its own development track. [citation needed]
The internal version number of Visual Studio .NET 2002 is version 7.0. Microsoft released Service Pack 1 for Visual Studio .NET 2002 in March, 2005. [67]
Visual Studio .NET 2003[edit] In April 2003, Microsoft introduced a minor upgrade to Visual Studio .NET called Visual Studio .NET 2003, codenamed Everett (for the city of the same name). It includes an upgrade to the .NET Framework, version 1.1, and is the first release to support developing programs for mobile devices, using ASP.NET or the .NET Compact Framework. The Visual C++ compiler's standards-compliance improved, especially in the area of partial template specialization. Visual C++ Toolkit 2003 is a version of the same C++ compiler shipped with Visual Studio .NET 2003 without the IDE that Microsoft made freely available. As of 2010 it is no longer available and the Express Editions have superseded it. The internal version number of Visual Studio .NET 2003 is version 7.1 while the file format version is 8.0. [68]
Visual Studio .NET 2003 shipped in four editions: Academic, Professional, Enterprise Developer, and Enterprise Architect. The Visual Studio .NET 2003 Enterprise Architect edition includes an implementation of Microsoft Visio 2002's modeling technologies, including tools for creating Unified Modeling Language-based visual representations of an application's architecture, and an object-role modeling (ORM) and logical database-modeling solution. "Enterprise Templates" were also introduced, to help larger development teams standardize coding styles and enforce policies around component usage and property settings. Service Pack 1 was released September 13, 2006. [69]
Visual Studio 2005[edit] Visual Studio 2005, codenamed Whidbey (a reference to Whidbey Island in Puget Sound), was released online in October 2005 and to retail stores a few weeks later. Microsoft removed the ".NET" moniker from Visual Studio 2005 (as well as every other product with .NET in its name), but it still primarily targets the .NET Framework, which was upgraded to version 2.0. It is the last version available for Windows 2000 and also the last version to be able to target Windows 98, Windows Me and Windows NT 4.0 for C++ applications. [70][71]
Visual Studio 2005's internal version number is 8.0 while the file format version is 9.0. [68] Microsoft released Service Pack 1 for Visual Studio 2005 on 14 December 2006. [72] An additional update for Service Pack 1 that offers Windows Vista compatibility was made available on 3 June 2007. [73]
Visual Studio 2005 was upgraded to support all the new features introduced in .NET Framework 2.0, including generics and ASP.NET 2.0. The IntelliSense feature in Visual Studio was upgraded for generics and new project types were added to support ASP.NET web services. Visual Studio 2005 also includes a local web server, separate from IIS, that can host ASP.NET applications during development and testing. It also supports all SQL Server 2005 databases. Database designers were upgraded to support theADO.NET 2.0, which is included with .NET Framework 2.0. C++ also got a similar upgrade with the addition of C++/CLI which is slated to replace the use of Managed C++. [74] Other new features of Visual Studio 2005 include the "Deployment Designer" which allows application designs to be validated before deployments, an improved environment for web publishing when combined with ASP.NET 2.0 and load testing to see application performance under various sorts of user loads. Starting with the 2005 edition, Visual Studio also added extensive 64-bit support. While the host development environment itself is only available as a 32-bit application, Visual C++ 2005 supports compiling for x86-64(AMD64 and Intel 64) as well as IA-64 (Itanium). [75] The Platform SDK included 64-bit compilers and 64-bit versions of the libraries. Microsoft also announced Visual Studio Tools for Applications as the successor to Visual Basic for Applications (VBA) and VSA (Visual Studio for Applications). VSTA 1.0 was released to manufacturing along with Office 2007. It is included with Office 2007 and is also part of the Visual Studio 2005 SDK. VSTA consists of a customized IDE, based on the Visual Studio 2005 IDE, and a runtime that can be embedded in applications to expose its features via the .NET object model. Office 2007 applications continue to integrate with VBA, except for InfoPath 2007 which integrates with VSTA. Version 2.0 of VSTA (based on Visual Studio 2008) was released in April, 2008. [76] It is significantly different from the first version, including features such as dynamic programming and support for WPF, WCF, WF, LINQ, and .NET 3.5 Framework. Visual Studio 2008[edit] Visual Studio 2008, [77] and Visual Studio Team System 2008 [78][79] codenamed Orcas (a reference to Orcas Island, also an island in Puget Sound, like Whidbey for the previous 2005 release), were released to MSDN subscribers on 19 November 2007 alongside .NET Framework 3.5. The source code for the Visual Studio 2008 IDE is available under a shared source license to some of Microsoft's partners and ISVs. [80] Microsoft released Service Pack 1 for Visual Studio 2008 on 11 August 2008. [81] The internal version number of Visual Studio 2008 is version 9.0 while the file format version is 10.0. Visual Studio 2008 is the last version to support targeting Windows 2000 for C++ applications. [82]
Visual Studio 2008 is focused on development of Windows Vista, 2007 Office system, and Web applications. For visual design, a new Windows Presentation Foundation visual designer and a new HTML/CSS editor influenced by Microsoft Expression Web are included. J# is not included. Visual Studio 2008 requires .NET 3.5 Framework and by default configures compiled assemblies to run on .NET Framework 3.5, but it also supports multi-targeting which lets the developers choose which version of the .NET Framework (out of 2.0, 3.0, 3.5, Silverlight CoreCLR or .NET Compact Framework) the assembly runs on. Visual Studio 2008 also includes new code analysis tools, including the new Code Metricstool (only in Team Edition and Team Suite Edition). [83] For Visual C++, Visual Studio adds a new version of Microsoft Foundation Classes (MFC 9.0) that adds support for the visual styles and UI controls introduced with Windows Vista. [84] For native and managed code interoperability, Visual C++ introduces the STL/CLR, which is a port of the C++Standard Template Library (STL) containers and algorithms to managed code. STL/CLR defines STL-like containers, iterators and algorithms that work on C++/CLI managedobjects. [85][86]
Visual Studio 2008 features include an XAML-based designer (codenamed Cider), workflow designer, LINQ to SQL designer (for defining the type mappings and object encapsulation for SQL Server data), XSLT debugger, JavaScript Intellisense support, JavaScript Debugging support, support for UAC manifests, a concurrent build system, among others. [87] It ships with an enhanced set of UI widgets, both for Windows Forms and WPF. It also includes a multithreaded build engine (MSBuild) to compile multiple source files (and build the executable file) in a project across multiple threads simultaneously. It also includes support for compiling PNG- compressed icon resources introduced in Windows Vista. An updated XML Schema designer will ship separately some time after the release of Visual Studio 2008. [88]
The Visual Studio debugger includes features targeting easier debugging of multi-threaded applications. In debugging mode, in the Threads window, which lists all the threads, hovering over a thread will display the stack trace of that thread in tooltips. [89] The threads can directly be named and flagged for easier identification from that window itself. [90] In addition, in the code window, along with indicating the location of the currently executing instruction in the current thread, the currently executing instructions in other threads are also pointed out. [90][91] The Visual Studio debugger supports integrated debugging of the .NET 3.5 Framework Base Class Library (BCL) which can dynamically download the BCL source code and debug symbols and allow stepping into the BCL source during debugging. [92] As of 2010 a limited subset of the BCL source is available, with more library support planned for later. Visual Studio 2010[edit] On 12-4-2010, Microsoft released Visual Studio 2010, codenamed Dev10, [93] and .NET Framework 4. [94][95]
The Visual Studio 2010 IDE was redesigned which, according to Microsoft, clears the UI organization and "reduces clutter and complexity." [96] The new IDE better supports multiple document windows and floating tool windows, [96] while offering better multi-monitor support. The IDE shell has been rewritten using the Windows Presentation Foundation (WPF), [97] whereas the internals have been redesigned using Managed Extensibility Framework (MEF) that offers more extensibility points than previous versions of the IDE that enabled add-ins to modify the behavior of the IDE. [98]
The new multi-paradigm ML-variant F# forms part of Visual Studio 2010. [99]
Visual Studio 2010 comes with .NET Framework 4 and supports developing applications targeting Windows 7. [96] It supports IBM DB2 and Oracle databases, in addition toMicrosoft SQL Server. [96] It has integrated support for developing Microsoft Silverlight applications, including an interactive designer. [96] Visual Studio 2010 offers several tools to make parallel programming simpler: in addition to the Parallel Extensions for the .NET Framework and the Parallel Patterns Library for native code, Visual Studio 2010 includes tools for debugging parallel applications. The new tools allow the visualization of parallel Tasks and their runtime stacks. [100] Tools for profiling parallel applications can be used for visualization of thread wait-times and thread migrations across processor cores. [101] Intel and Microsoft have jointly pledged support for a new Concurrency Runtime in Visual Studio 2010 [102] and Intel has launched parallelism support in Parallel Studio as an add-on for Visual Studio. [103]
The Visual Studio 2010 code editor now highlights references; whenever a symbol is selected, all other usages of the symbol are highlighted. [104] It also offers a Quick Searchfeature to incrementally search across all symbols in C++, C# and VB.NET projects. Quick Search supports substring matches and camelCase searches. [104] The Call Hierarchyfeature allows the developer to see all the methods that are called from a current method as well as the methods that call the current one. [104] IntelliSense in Visual Studio supports a consume-first mode which developers can opt into. In this mode, IntelliSense will not auto-complete identifiers; this allows the developer to use undefined identifiers (like variable or method names) and define those later. Visual Studio 2010 can also help in this by automatically defining them, if it can infer their types from usage. [104] Current versions of Visual Studio have a known bug which makes IntelliSense unusable for projects using pure C (not C++). [105]
Visual Studio 2010 features a new Help System replacing the MSDN Library viewer. The Help System is no longer based on Microsoft Help 2 and does not use Microsoft Document Explorer. Dynamic help containing links to related help topics based on where the developer was in the IDE has been removed in the shipping product, [106] but can be added back using a download from Microsoft. [107]
Visual Studio 2010 no longer supports development for Windows Mobile prior to Windows Phone 7. Visual Studio 2010 Service Pack 1 was released in March, 2011. [108]
Visual Studio Ultimate 2010 Visual Studio Ultimate 2010 replaces Visual Studio 2008 Team Suite. [109] It includes new modeling tools, [110] such as the Architecture Explorer, which graphically displays projects and classes and the relationships between them. [111][112] It supports UML activity diagram, component diagram, (logical) class diagram, sequence diagram, and use case diagram. [112] Visual Studio Ultimate 2010 also includes Test Impact Analysis which provides hints on which test cases are impacted by modifications to the source code, without actually running the test cases. [113] This speeds up testing by avoiding running unnecessary test cases. Visual Studio Ultimate 2010 also includes a Historical Debugger for managed code called IntelliTrace. Unlike a traditional debugger, that records only the currently active stack, IntelliTrace records all events, such as prior function calls, method parameters, events and exceptions. This allows the code execution to be rewound in case a breakpoint wasn't set where the error occurred. [114] Debugging with IntelliTrace will cause the application to run more slowly than debugging without it, and will use more memory as additional data needs to be recorded. Microsoft allows configuration of how much data should be recorded, in effect allowing developers to balance speed of execution and resource usage. TheLab Management component of Visual Studio Ultimate 2010 uses virtualization to create a similar execution environment for testers and developers. The virtual machines are tagged with checkpoints which can later be investigated for issues, as well as to reproduce the issue. [115] Visual Studio Ultimate 2010 also includes the capability to record test runs that capture the specific state of the operating environment as well as the precise steps used to run the test. These steps can then be played back to reproduce issues. [116]
Visual Studio 2012[edit]
Microsoft Visual Studio 2012 logo Final build of Visual Studio 2012 was announced on August 1, 2012 and the official launch event was held on September 12, 2012. [117]
Unlike prior versions, Visual Studio 2012 cannot record and play macros and the macro editor has been removed. [118]
A major new feature is support for WinRT and C++/CX (Component Extensions). Support for C++ AMP (GPGPU programming) is also included. [119]
On 16 September 2011 a complete 'Developer Preview' of Visual Studio 11 was published on Microsoft's website. Visual Studio 11 Developer Preview requires Windows 7, Windows Server 2008 R2, Windows 8, or later operating systems. [120] Versions of Microsoft Foundation Class Library (MFC) and C runtime (CRT) included with this release cannot produce software that is compatible with Windows XP or Windows Server 2003 except by using native multi-targeting and foregoing the newest libraries, compilers, and headers. [121] However, on June 15, 2012, a blog post on the VC++ Team blog announced that based on customer feedback, Microsoft would re-introduce native support for Windows XP targets (though not for XP as a development platform) in a version of Visual C++ to be released later in the fall of 2012. [122] "Visual Studio 2012 Update 1" (Visual Studio 2012.1) was released in November 2012. This update added support for Windows XP targets and also added other new tools and features (e.g. improved diagnostics and testing support for Windows Store apps). [123]
On 24 August 2011, a blog post by Sumit Kumar, a Program Manager on the Visual C++ team, listed some of the features of the upcoming version of the Visual Studio C++ IDE: [124]
Semantic Colorization: Improved syntax coloring, various user-defined or default colors for C++ syntax such as macros, enumerations, typenames, functions etc. [124]
Reference Highlighting: Selection of a symbol highlights all of the references to that symbol within scope. [124]
New Solution Explorer: New solution explorer allows for visualization of class and file hierarchies within a solution/project. Searching for calls to functions and uses of classes will be supported. [124]
Automatic Display of IntelliSense list: IntelliSense will automatically be displayed whilst typing code, as opposed to previous versions where it had to be explicitly invoked through use of certain operators (i.e. the scope operator (::)) or shortcut keys (Ctrl-Space or Ctrl-J). [124]
Member List Filtering: IntelliSense uses fuzzy logic to determine which functions/variables/types to display in the list. [124]
Code Snippets: Code snippets are included in IntelliSense to automatically generate relevant code based on the user's parameters, custom code snippets can be created. [124]
The source code of Visual Studio 2012 consists of approximately 50 million lines of code. [125]
Interface controversies[edit] During Visual Studio 11 beta, Microsoft eliminated the use of color within tools except in cases where color is used for notification or status change purposes. However, the use of color was returned after feedback demanding more contrast, differentiation, clarity and "energy" in the user interface. [126][127]
In Visual Studio 2012 RC, a major change to the interface is the use of all-caps menu bar, as part of the campaign to keep Visual Studio consistent with the direction of other Microsoft user experiences, and to provide added structure to the top menu bar area. [128] The redesign was criticized for being hard to read, and going against the trends started by developers to use CamelCase to make words stand out better. [129] Some speculated that the root cause of the redesign was to incorporate the simplistic look and feel of Metro apps. [130] However, there exists a Windows Registry option to allow users to disable the all-caps interface. [131]
Visual Studio 2013[edit] The preview for Visual Studio 2013 was announced at the Build 2013 conference and made available on June 26, 2013. [132] The Visual Studio 2013 RC (Release Candidate) was made available to developers on MSDN on September 9, 2013. [133]
The final release of Visual Studio 2013 became available for download on October 17, 2013 along with .NET 4.5.1. [134] Visual Studio 2013 officially launched on November 13, 2013 at a virtual launch event keynoted by S. Somasegar and hosted on events.visualstudio.com. [135] "Visual Studio 2013 Update 1" (Visual Studio 2013.1) was released on January 20, 2014. [136] Visual Studio 2013.1 is a targeted update that addresses some key areas of customer feedback. [137] "Visual Studio 2013 Update 2" (Visual Studio 2013.2) was released on May 12, 2014. [138] Visual Studio 2013 Update 3 was released on August 4, 2014. With this update, Visual Studio provides an option to disable the all-caps menus, which was introduced in VS2012. [139]
Visual Studio "14"[edit] The first CTP for Visual Studio "14" was announced and made available on June 3, 2014. [140] The second CTP for Visual Studio "14" was announced and made available on July 8, 2014. [141] CTP 3 was released on August 18, 2014 [142] and CTP 4 was released on October 6, 2014 [143]
Like the previous version, the help file can be consulted on-line or off-line (after downloading it). However in this version, not all help can be consulted off-line. Help related to the Win32 API can only be consulted on-line therefore requiring a constant internet connection. Visual Studio Application Lifecycle Management[edit] Main article: Visual Studio Application Lifecycle Management Visual Studio Application Lifecycle Management is a collection of integrated software development tools developed by Microsoft. These tools include IDEs, source control, work items, collaboration, metrics, and reporting tools. Visual Studio Application Lifecycle Management consists of four products: [144]
Visual Studio, which provides an IDE (Integrated Development Environment) for development and client side interfaces for the other products. Visual Studio Test Professional, which provides an IDE for software testers to create and execute tests. Team Foundation Server (aka TFS), which provides Source Code collaboration and data storage. Visual Studio Online, which is a TFS hosted in the Cloud and offered as a service. Visual Studio Lab Management, which provides a way for software testers to create and manage virtual environments. In Visual Studio 2005 and Visual Studio 2008 the brand was known as Microsoft Visual Studio Team System (VSTS); however, in October 2009, as part of the Visual Studio 2010 release (codenamed Rosario [145][146] ), the Team System brand was renamed to Microsoft Visual Studio ALM. [147]
Visual Studio LightSwitch[edit] Microsoft Visual Studio LightSwitch is an extension and framework specifically tailored for creating line- of-business applications built on existing .NET technologies and Microsoft platforms. The applications produced are architecturally 3-tier: the user interface runs on either Microsoft Silverlight, HTML 5 client [148] or as a SharePoint 2013 app; [149] the logic and data-access tier is built on WCF Data Services and exposed as an OData feed hosted [150] in ASP.NET; and the primary data storage supports Microsoft SQL Server Express,Microsoft SQL Server and Microsoft SQL Azure. LightSwitch also supports other data sources including Microsoft SharePoint, OData and WCF RIA Services. LightSwitch includes graphical designers for designing entities and entity relationships, entity queries, and UI screens. Business logic may be written in either Visual Basic orVisual C#. LightSwitch is included with Visual Studio 2012 Professional and higher. The user interface layer is now an optional component when deploying a LightSwitch solution, allowing a service only deployment. [151]
The first version of Visual Studio LightSwitch, released July 26, 2011, [152] had many differences from the current release of LightSwitch. Notably the tool was purchased and installed as a stand-alone product. If Visual Studio 2010 Professional or higher was already installed on the machine, LightSwitch would integrate into that. [153] The second major difference was the middle tier was built and exposed using WCF RIA Services. See also[edit] Microsoft Visual Studio Express Microsoft Small Basic References[edit] 1. Jump up^ "Description of Visual Studio 2013 Update 4 CTP 1". Retrieved 2014-09-03. 2. Jump up^ "Visual Studio "14" CTPs". Microsoft. Retrieved 2014-08-18. 3. Jump up^ Lextrait, Vincent (January 2010). "The Programming Languages Beacon, v10.0". Retrieved 5 January 2010. 4. Jump up^ Take Visual Studio 2010 For a Test Drive 5. Jump up^ Brenner, Pat (19 July 2013). "C99 library support in Visual Studio 2013". Visual C++ Team Blog. Microsoft. Retrieved 3 August 2014. 6. Jump up^ http://research.microsoft.com/en-us/um/cambridge/projects/fsharp/ 7. Jump up^ Microsoft DreamSpark - Software Catalog. Dreamspark.com (2013-05-31). Retrieved on 2013-10-23. 8. Jump up^ Visual Studio 2005 SDK. "Visual Studio Development Environment Model". Microsoft. Retrieved 2008-01-01. 9. Jump up^ Visual Studio 2005 SDK. "VSPackages and Managed Package Framework (MPF)".Microsoft. Retrieved 2008-01-01. 10. ^ Jump up to: a
b
c
d Vijay Mehta. "Extending Visual Studio 2005". CodeGuru. Retrieved 2008-01-01. 11. ^ Jump up to: a
b
c Visual Studio 2005 SDK. "Language Service Essentials". Microsoft. Retrieved 2008-01-01. 12. Jump up^ Visual Studio SDK. "Babel Package Overview". Microsoft. Retrieved 2008-01- 01. 13. Jump up^ Visual Studio SDK. "Managed Language Services overview". Microsoft. Retrieved 2008-01-01. 14. Jump up^ "Source Control Integration Essentials". MSDN. Retrieved 2010-09-19. 15. Jump up^ "Source Control Plug-ins". MSDN. Retrieved 2010-09-19. 16. ^ Jump up to: a
b Alin Constantin. "Microsoft Source Code Control Interface". Retrieved 2008-01-03. 17. ^ Jump up to: a
b
c "Visual Studio Extensibility". CoDe Magazine. Retrieved 2008-01-01. 18. ^ Jump up to: a
b Scott Guthrie. "Nice VS 2008 Code Editing Improvements". Retrieved 2007-12-31. 19. Jump up^ Scott Guthrie. "VS 2008 JavaScript IntelliSense". Retrieved 2007-12-31. 20. Jump up^ Scott Guthrie. "VS 2008 Web Designer and CSS Support". Retrieved 2007-12- 31. 21. ^ Jump up to: a
b "Visual Studio .NET - Top 10 Code Editor Tips and Tricks". MSDN TV. Retrieved 2007-12-31. 22. Jump up^ "Background compilation, part 1". Retrieved 2007-12-31. 23. ^ Jump up to: a
b Matthew Gertz. "Scaling Up: The Very Busy Background Compiler". MSDNMagazine. Retrieved 2007-12-31. 24. Jump up^ Thomas F. Abraham. "Background Compilation in Visual Studio 2002, 2003 and 2005". Retrieved 2007-12-31. 25. Jump up^ "Attaching to Running Processes". MSDN. Retrieved 2007-12-31. 26. Jump up^ "Dumps". MSDN. Retrieved 2007-12-31. 27. Jump up^ "Breakpoint Overview". MSDN. Retrieved 2007-12-31. 28. ^ Jump up to: a
b "Code Stepping Overview". MSDN. Retrieved 2007-12-31. 29. Jump up^ "Edit and Continue". MSDN. Retrieved 2007-12-31. 30. Jump up^ "Debugging at Design Time". MSDN. Retrieved 2007-12-31. 31. Jump up^ "Binding Controls to Data in Visual Studio". Msdn.microsoft.com. Retrieved 2013-06-15. 32. Jump up^ "MSDN TV: Introducing "Cider" - The Visual Studio Designer for WPF ("Avalon")".MSDN TV. Retrieved 2008-01-01. 33. Jump up^ "MVC : The Official Microsoft ASP.NET Site". Asp.net. 2013-05-10. Retrieved 2013-06-15. 34. Jump up^ "Dynamic Data Content Map". Asp.net. Retrieved 2013-06-15. 35. Jump up^ "Team Explorer 2005 (.img file)". Microsoft. Retrieved 2007-03-05. 36. Jump up^ "Visual Studio Team System 2008 Team Explorer". Microsoft. Retrieved 2007- 03-05. 37. Jump up^ "How to use the Server Explorer in Visual Studio .NET and Visual Studio 2005".Microsoft. Retrieved 2008-01-01. 38. Jump up^ "Dotfuscator Community Edition 4.0". Msdn.microsoft.com. Retrieved 2009- 09-06. 39. Jump up^ "Microsoft and PreEmptive Solutions to Provide Application Feature Monitoring, Usage Expiry and Tamper Defense in Visual Studio 2010: Post-build utility utilizes software plus services and instrumentation to improve application security, portfolio management and usability". Microsoft.com. 2008-10-27. Retrieved 2009-09- 06. 40. Jump up^ Cangialosi, Anthony (6 June 2008). "The Visual Studio Gallery gets a little more community friendly". Anthony @ MS. Microsoft. Retrieved 3 August 2014. 41. Jump up^ Visual C++ Team. "ISO C Standard Update". MSDN Blogs. Retrieved 2008-01- 02. 42. Jump up^ Visual C++ team. "Update On The C++-0x Language Standard". MSDN Blogs. 43. Jump up^ "Compiler Intrinsics". MSDN. Retrieved 2008-01-02. 44. Jump up^ "OpenMP in Visual C++ (Visual Studio 2005)". MSDN. Microsoft. 2005. Retrieved 27 April 2013. 45. Jump up^ "Visual C# (MSDN)". MSDN. Retrieved 2009-06-01. 46. Jump up^ "Make Your Components Really RAD with Visual Studio .NET Property Browser". October 2010. 47. Jump up^ "What's New in Visual Basic and Visual C#". October 2010. 48. Jump up^ "Visual FoxPro Home, under Visual FoxPro 9.0 Overview". MSDN. Retrieved 2014-03-08. 49. Jump up^ "A Message to the Community". MSDN. Retrieved 2008-01-02. 50. Jump up^ De, Alan. "Visual SourceSafe: Microsoft's Source Destruction System". Highprogrammer.com. Retrieved 2009-09-06. 51. Jump up^ "INFO: Required Network Rights for the SourceSafe Directories". Support.microsoft.com. 2005-02-24. Retrieved 2009-09-06. 52. Jump up^ "Microsoft Visual SourceSafe Best Practices". Msdn.microsoft.com. Retrieved 2009-09-06. 53. Jump up^ "Buy Microsoft Visual SourceSafe 6 (324-00269) :: eCostSoftware.com - UK Software Supplier". eCostSoftware.com. Retrieved 2009-09-06. 54. ^ Jump up to: a
b
c "Visual Studio Editions". Microsoft. Retrieved 2010-06-22. 55. Jump up^ "How to: Configure Visual C++ Projects to Target 64-Bit Platforms". Microsoft. Retrieved 2010-08-19. 56. Jump up^ "No-cost desktop software development is dead on Windows 8". Ars Technica. 57. Jump up^ "Microsoft adds Windows 8 Desktop support to Visual Studio 2012 Express". ZDNet. 58. Jump up^ "Visual Studio Express". Microsoft. Retrieved 2010-06-22. 59. ^ Jump up to: a
b "VS 2010 Licensing Changes". Microsoft. Retrieved 2010-06-22. 60. ^ Jump up to: a
b "website on windows CE programming". Paul Thurrott. Retrieved 2010- 05-19. 61. Jump up^ update & help from Microsoft website 62. Jump up^ "System Requirements (Visual Studio 6.0)". Microsoft Co. Retrieved 2008-01- 02. 63. Jump up^ "Visual J++ Solution Center". Support. Microsoft. Retrieved 25 May 2013. 64. Jump up^ "Visual J++ 6.0". MSDN. Microsoft. Retrieved 25 May 2013. 65. Jump up^ "Features by Edition". Microsoft. Archived from the original on 2004-02-15. 66. Jump up^ "System Requirements (Visual Studio .NET)". MSDN. Retrieved 2008-01-02. 67. Jump up^ "Visual Studio .NET 2002 SP1". Microsoft. Retrieved 2008-01-02. 68. ^ Jump up to: a
b "Hacking Visual Studio". Retrieved 2008-01-01. 69. Jump up^ "Microsoft Visual Studio .NET 2003 Service Pack 1". Microsoft. Retrieved 2008-01-02. 70. Jump up^ How to: Modify WINVER and _WIN32_WINNT 71. Jump up^ Breaking Changes 72. Jump up^ "Visual Studio 2005 Service Pack 1". Microsoft. Retrieved 2008-01-01. 73. Jump up^ "Visual Studio Service Pack 1 Update". Retrieved 2008-01-01. 74. Jump up^ "New Language Features in Visual C++". Visual Studio 2005 Visual C++ Language Reference. MSDN. Retrieved 2006-12-28. 75. Jump up^ "64-bit and Visual Studio 2005". April 11, 2006. Retrieved 2006-12-28. 76. Jump up^ VSTA vs VSTO in Software Development Kits. In the latest MSDN Flash email I just received, it announces the release of Visual Studio Tools for Applications 2.0 (VSTA). 77. Jump up^ "Microsoft Details Dynamic IT Strategy at Tech-Ed 2007". Retrieved 2007-06- 04. 78. Jump up^ Beehler, Jeff (2007-11-19). "Visual Studio Team System 2008 ships!". Jeff Beehler's Blog. MSDN Blogs. Retrieved 2010-06-25. 79. Jump up^ "Microsoft Windows Visual Studio Team System 2008". MSDN Search. MSDN Social. 2010. Retrieved 2010-06-25. 80. Jump up^ "Microsoft to Give Partners More Access to Orcas IDE Code". Retrieved 2007- 11-06. 81. Jump up^ "Download Details: Microsoft Visual Studio 2008 Service Pack 1 (exe)". Retrieved 2008-08-11. 82. Jump up^ Windows Platforms (CRT) 83. Jump up^ Darryl K. Taft. "Microsoft Pushes Secure, Quality Code". eWeek. Retrieved 2007-10-06. 84. Jump up^ Kirants. "Whats New in MFC 9.0 (Orcas)". CodeGuru. Retrieved 2008-01-02. 85. Jump up^ Nikola Dudla. "What Is STL/CLR?". MSDN Blogs. Retrieved 2008-01-02. 86. Jump up^ Visual C++ Team. "Libraries Work In Orcas". MSDN Blogs. Retrieved 2008-01- 02. 87. Jump up^ "Download Visual Studio 03/07 CTP". Retrieved 2007-06-14. 88. Jump up^ "XSD Designer in Visual Studio". Retrieved 2008-01-01. 89. Jump up^ S. Somasegar. "Debugging and Profiling Features in VS 2008". MSDN Blogs. Retrieved 2007-07-24. 90. ^ Jump up to: a
b John Robbin. "Neat New Multithreaded Debugging Features in VS 2008". Retrieved 2007-09-24. 91. Jump up^ Scott Hanselman. "Multi-threaded Debugging in Visual Studio 2008". Retrieved 2007-09-24. 92. Jump up^ Scott Guthrie. "Releasing the Source Code for the .NET Framework Libraries". Retrieved 2007-10-04. 93. Jump up^ Visual Studio 2010 aka. Dev10 Beta available for download 94. Jump up^ Microsoft Releases Visual Studio 2010, .NET Framework 4 95. Jump up^ Microsoft launches Visual Studio 2010 and .NET Framework 4 96. ^ Jump up to: a
b
c
d
e "Visual Studio 2010 Team System First Look". Microsoft. Retrieved 2009-04-18. 97. Jump up^ "Writing Visual Studio 2010 shell in WPF Reflects Confidence". One .NET Way. Retrieved 2009-04-18. 98. Jump up^ Carlos Quintero. "Visual Studio 2010 Extensibility moving beyond add-ins and packages". Retrieved 2009-04-18. 99. Jump up^ "F# to ship as part of Visual Studio 2010". Retrieved 2008-12-10. 100. Jump up^ Daniel Moth. "Debugging Parallel applications with VS2010". Retrieved 2008-04-18. 101. Jump up^ "More support for parallelism in the next version of Visual Studio". MSDN. Retrieved 2009-04-23. 102. Jump up^ David Worthington. "SD Times: Intel, Microsoft converge on parallel computing". Retrieved 2008-08-20. 103. Jump up^ David Worthington. "Intel addresses development life cycle with Parallel Studio". Retrieved 2009-05-26. 104. ^ Jump up to: a
b
c
d S. Somasegar. "Code Focused Development in VS 2010". Retrieved 2008-04-18. 105. Jump up^ Medinoc. "Bug: Intellisense believes itself in C++ while working on a C file.". Retrieved 2011-08-28. 106. Jump up^ Dynamic Help Removed From Visual Studio 2010 107. Jump up^ "Help Viewer Power Tool". Retrieved 2010-07-13. 108. Jump up^ Microsoft Visual Studio 2010 Service Pack 1 (Installer) 109. Jump up^ "Visual Studio 2010 transition benefits: "the ultimate offer" What you need to know".Microsoft MSDN Blogs. Retrieved 2014-09-14. 110. Jump up^ "Microsoft Unveils Next Version of Visual Studio and .NET Framework". MicrosoftPressPass. Retrieved 2009-08-14. 111. Jump up^ "Doing Architecture with Team System Rosario". Retrieved 2009-04- 18. 112. ^ Jump up to: a
b "Visual Studio 2010 Architecture Edition". Retrieved 2009-04- 18. 113. Jump up^ "Historical Debugger and Test Impact Analysis in Visual Studio Team System 2010".Channel 9. Retrieved 2009-04-18. 114. Jump up^ Habib Heydarian. "Whats new in Visual Studio Team System 2010: Episode 2". Retrieved 2008-04-18. 115. Jump up^ "Visual Studio 2010 Lab Management". Retrieved 2009-04-18. 116. Jump up^ Ina Fried. "Visual Studio 2010 to come with 'black box'". CNET News. CBS Interactive Inc. Retrieved 2009-04-18. 117. Jump up^ "Visual Studio 2012 and .NET 4.5 Complete! - Somasegar's blog - Site Home - MSDN Blogs". Blogs.msdn.com. 2012-08-01. Retrieved 2013-06-15. 118. Jump up^ "Can I record/play Macros in Visual Studio 2012/2013?". stackoverflow.com. 2013-12-31. Retrieved 2013-12-31. 119. Jump up^ "What's New for Visual C++ in Visual Studio 2012". Msdn.microsoft.com. 2012-08-15. Retrieved 2013-06-15. 120. Jump up^ "Visual Studio 11 Developer Preview Download". Microsoft Download Center. Microsoft Corporation. 16 September 2011. Retrieved 14 October 2011. 121. Jump up^ "Bug: apps created with CRT and MFC vNext (11) cannot be used on Windows XP SP3". Microsoft Connect. Microsoft Corporation. 24 September 2011. Retrieved 14 October 2011. "This behavior is by design in MFC and CRT for Visual Studio vNext. The minimum supported operating systems are Windows Server 2008 SP2 and Windows Vista." 122. Jump up^ "Targeting Windows XP with C++ in Visual Studio 2012". Visual C++ Team blog. Microsoft Corporation. 15 June 2012. Retrieved 26 June 2012. 123. Jump up^ "Visual Studio 2012 Update 1 is now available!". Somasegars blog. Microsoft Corporation. 26 November 2012. Retrieved 29 December 2012. 124. ^ Jump up to: a
b
c
d
e
f
g Kumar, Sumit (24 August 2011). "First Look at the New C++ IDE Productivity Features in the Next Version of Visual Studio". VC++ Team Blog (Microsoft Corporation). MSDN Blogs. Retrieved 14 October 2011. 125. Jump up^ "The Visual Studio 2012 Feedback Tool: A better way to submit bugs - The Visual Studio Blog - Site Home - MSDN Blogs". Blogs.msdn.com. 2013-01-28. Retrieved 2013-06-15. 126. Jump up^ Color Returns to Visual Studio 11 User Interface 127. Jump up^ Visual Studio 11 User Interface Updates Coming in RC 128. Jump up^ A DESIGN WITH ALL-CAPS 129. Jump up^ Microsoft Ignores Usability and Users - VS 2012 Keeps ALL-CAPS Menus 130. Jump up^ On Visual Studio 11's redesign awkwardness 131. Jump up^ How To Prevent Visual Studio 2012 ALL CAPS Menus! 132. Jump up^ Visual Studio 2013 Preview Available Now! Microsoft Visual Studio Blog, June 26, 2013 133. Jump up^ Visual Studio 2013 RC available now! Microsoft Visual Studio Blog, September 9, 2013 134. Jump up^ Visual Studio 2013 released to web! Microsoft Visual Studio Blog, October 17, 2013 135. Jump up^ S. Somasegar. "Visual Studio 2013 Launch: Announcing Visual Studio Online". MSDN Blogs. Retrieved 2014-01-23. 136. Jump up^ "Visual Studio 2013 Update 1". Visual Studio site. Microsoft Corporation. 20 January 2014. Retrieved 23 January 2014. 137. Jump up^ "Visual Studio 2013 Update 1". Somasegars blog. Microsoft Corporation. 20 January 2014. Retrieved 23 January 2014. 138. Jump up^ "Visual Studio 2013 Update 2 RTM". Visual Studio site. Microsoft Corporation. 12 May 2014. Retrieved 12 July 2014. 139. Jump up^ "Description of Visual Studio 2013 Update 3". Microsoft Corporation. August 15, 2014. Retrieved 18 August 2014. 140. Jump up^ Montgomery, John (3 Jun 2014). "Visual Studio "14" CTP now available". The Visual Studio Blog. Retrieved 18 August 2014. 141. Jump up^ Montgomery, John (8 Jul 2014). "Visual Studio "14" CTP 2 Available". The Visual Studio Blog. Retrieved 18 August 2014. 142. Jump up^ Montgomery, John (August 18, 2014). "Visual Studio "14" CTP 3 Released". Visual Studio Blog. Retrieved 18 August 2014. 143. Jump up^ Montgomery, John (October 6, 2014). "Visual Studio "14" CTP 4 Released". Visual Studio Blog. Retrieved 6 October 2014. 144. Jump up^ "Visual Studio Application Lifecycle Management". Msdn.microsoft.com. Retrieved 2013-06-15. 145. Jump up^ "Microsoft Unveils Next Version of Visual Studio and .NET Framework". Microsoft. Retrieved 2011-06-17. 146. Jump up^ "'Visual Studio Team System Rosario'". Retrieved 2008-04-05. 147. Jump up^ Octavie van Haaften (November 25, 2009). "Visual Studio 2010 Team System session". Retrieved 2011-12-08. 148. Jump up^ "LightSwitch HTML Client". Msdn.microsoft.com. Retrieved 2013-06- 15. 149. Jump up^ "Get Started Building SharePoint Apps in Minutes with LightSwitch - Beth Massi - Sharing the goodness - Site Home - MSDN Blogs". Blogs.msdn.com. Retrieved 2013-06-15. 150. Jump up^ "LightSwitch Architecture: OData (John Rivard) - Visual Studio LightSwitch Team Blog - Site Home - MSDN Blogs". Blogs.msdn.com. Retrieved 2013-06- 15. 151. Jump up^ "How to: Deploy a LightSwitch OData Service". Msdn.microsoft.com. Retrieved 2013-06-15. 152. Jump up^ "Visual Studio LightSwitch 2011 is Launching July 26th! - Visual Studio LightSwitch Team Blog - Site Home - MSDN Blogs". Blogs.msdn.com. Retrieved 2013-06- 15. 153. Jump up^ Massi, Beth. "Rapid Business Application Development with Visual Studio LightSwitch". Microsoft. Retrieved 2010-08-04. External links[edit]
Java (programming language) From Wikipedia, the free encyclopedia
"Java language" redirects here. For the natural language from the Indonesian island of Java, see Javanese language. Not to be confused with JavaScript. Java
Paradigm(s) multi-paradigm: object- oriented, structured,imperative, functional,generic, reflective,concurrent Designed by James Gosling and Sun Microsystems Developer Oracle Corporation Appeared in 1995 [1]
Stable release Java Standard Edition 8 Update 25 (1.8.0_25) / October 14, 2014; 6 days ago Typing discipline Static, strong, safe,nominative, manifest Major implementati ons OpenJDK, many others Dialects Generic Java, Pizza Influenced by Ada 83, C++, C#, [2] Eiffel, [3] Generic Java, Mesa, [4] Modula-3, [5] Oberon, [6] Objective- C, [7] UCSD Pascal, [8][9] Smalltalk Influenced Ada 2005, BeanShell, C#,Clojure, D, ECMAScript,Groovy, J#, JavaScript,Kotlin, PHP, Python , Scala,Seed7, Vala Implementati on language C and C++ OS Cross-platform (multi-platform) License GNU General Public License, Java Community Process Filename extension(s) .java , .class, .jar Website For Java Developers Java Programming at Wikibooks Java is a computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. It is intended to let application developers "write once, run anywhere" (WORA), meaning that code that runs on one platform does not need to be recompiled to run on another. Java applications are typically compiled tobytecode that can run on any Java virtual machine (JVM) regardless of computer architecture. Java is, as of 2014, one of the most popular programming languages in use, particularly for client-server web applications, with a reported 9 million developers. [10][11] Java was originally developed by James Gosling at Sun Microsystems (which has since merged into Oracle Corporation) and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C andC++, but it has fewer low-level facilities than either of them. The original and reference implementation Java compilers, virtual machines, and class libraries were originally released by Sun under proprietary licences. As of May 2007, in compliance with the specifications of the Java Community Process, Sun relicensed most of its Java technologies under the GNU General Public License. Others have also developed alternative implementations of these Sun technologies, such as the GNU Compiler for Java (bytecode compiler), GNU Classpath (standard libraries), and IcedTea-Web (browser plugin for applets). Contents [hide] 1 History o 1.1 Principles o 1.2 Versions 2 Practices o 2.1 Java platform 2.1.1 Implementations 2.1.2 Performance o 2.2 Automatic memory management 3 Syntax 4 Examples o 4.1 Hello world o 4.2 A more comprehensive example 5 Special classes o 5.1 Applet o 5.2 Servlet o 5.3 JavaServer Pages o 5.4 Swing application o 5.5 Generics 6 Criticism 7 Use on unofficial software platforms o 7.1 Google 8 Class libraries 9 Documentation 10 Editions 11 See also o 11.1 Comparison of Java with other languages 12 Notes 13 References 14 External links History[edit] See also: Java (software platform) History
Duke, the Java mascot James Gosling, Mike Sheridan, and Patrick Naughton initiated the Java language project in June 1991. [12] Java was originally designed for interactive television, but it was too advanced for the digital cable television industry at the time. [13] The language was initially called Oak after anoak tree that stood outside Gosling's office. Later the project went by the name Green and was finally renamed Java, from Java coffee, [14] said to be consumed in large quantities by the language's creators. [citation needed] Gosling designed Java with a C/C++-style syntax that system and application programmers would find familiar. [15]
Sun Microsystems released the first public implementation as Java 1.0 in 1995. [1] It promised "Write Once, Run Anywhere" (WORA), providing no-cost run-times on popular platforms. Fairly secure and featuring configurable security, it allowed network- and file-access restrictions. Major web browsers soon incorporated the ability to run Java applets within web pages, and Java quickly became popular. The Java 1.0 compiler was re-written in Java by Arthur van Hoff to comply strictly with the Java 1.0 language specification. [16] With the advent of Java 2 (released initially as J2SE 1.2 in December 1998 1999), new versions had multiple configurations built for different types of platforms. J2EE included technologies and APIs for enterprise applications typically run in server environments, while J2ME featured APIs optimized for mobile applications. The desktop version was renamed J2SE. In 2006, for marketing purposes, Sun renamed new J2 versions as Java EE, Java ME, and Java SE, respectively. In 1997, Sun Microsystems approached the ISO/IEC JTC1 standards body and later the Ecma International to formalize Java, but it soon withdrew from the process. [17] Java remains a de facto standard, controlled through the Java Community Process. [18] At one time, Sun made most of its Java implementations available without charge, despite their proprietary software status. Sun generated revenue from Java through the selling of licenses for specialized products such as the Java Enterprise System. On November 13, 2006, Sun released much of Java as free and open source software, (FOSS), under the terms of the GNU General Public License (GPL). On May 8, 2007, Sun finished the process, making all of Java's core code available under free software/open-source distribution terms, aside from a small portion of code to which Sun did not hold the copyright. [19]
Sun's vice-president Rich Green said that Sun's ideal role with regards to Java was as an "evangelist." [20] Following Oracle Corporation's acquisition of Sun Microsystems in 20092010, Oracle has described itself as the "steward of Java technology with a relentless commitment to fostering a community of participation and transparency". [21] This did not prevent Oracle from filing a lawsuit against Google shortly after that for using Java inside the Android SDK (see Google section below). Java software runs on everything fromlaptops to data centers, game consoles to scientific supercomputers. There are 930 million Java Runtime Environment downloads each year and 3 billion mobile phones run Java. [22] On April 2, 2010, James Gosling resigned from Oracle. [23]
Principles[edit]
James Gosling, the creator of Java There were five primary goals in the creation of the Java language: [24]
1. It should be "simple, object-oriented and familiar" 2. It should be "robust and secure" 3. It should be "architecture-neutral and portable" 4. It should execute with "high performance" 5. It should be "interpreted, threaded, and dynamic" Versions[edit] Main article: Java version history Major release versions of Java, along with their release dates: JDK 1.0 (January 21, 1996) JDK 1.1 (February 19, 1997) J2SE 1.2 (December 8, 1998) J2SE 1.3 (May 8, 2000) J2SE 1.4 (February 6, 2002) J2SE 5.0 (September 30, 2004) Java SE 6 (December 11, 2006) Java SE 7 (July 28, 2011) Java SE 8 (March 18, 2014) Practices[edit] Java platform[edit] Main articles: Java (software platform) and Java virtual machine One design goal of Java is portability, which means that programs written for the Java platform must run similarly on any combination of hardware and operating system with adequate runtime support. This is achieved by compiling the Java language code to an intermediate representation called Java bytecode, instead of directly to architecture-specific machine code. Java bytecode instructions are analogous to machine code, but they are intended to be executed by a virtual machine (VM) written specifically for the host hardware. End-users commonly use a Java Runtime Environment (JRE) installed on their own machine for standalone Java applications, or in a web browser for Java applets. Standardized libraries provide a generic way to access host-specific features such as graphics, threading, and networking. A major benefit of using bytecode is porting. However, the overhead of interpretation means that interpreted programs almost always run more slowly than programs compiled to native executables would. Just-in-Time (JIT) compilers were introduced from an early stage that compile bytecodes to machine code during runtime. Implementations[edit] See also: Free Java implementations Oracle Corporation is the current owner of the official implementation of the Java SE platform, following their acquisition of Sun Microsystems on January 27, 2010. This implementation is based on the original implementation of Java by Sun. The Oracle implementation is available for Windows, Mac OS X, Linux and Solaris. Because Java lacks any formal standardization recognized by Ecma International, ISO/IEC, ANSI, or other third-party standards organization, the Oracle implementation is the de facto standard. The Oracle implementation is packaged into two different distributions: The Java Runtime Environment (JRE) which contains the parts of the Java SE platform required to run Java programs and is intended for end-users, and the Java Development Kit (JDK), which is intended for software developers and includes development tools such as the Java compiler, Javadoc, Jar, and a debugger. OpenJDK is another notable Java SE implementation that is licensed under the GPL. The implementation started when Sun began releasing the Java source code under theGPL. As of Java SE 7, OpenJDK is the official Java reference implementation. The goal of Java is to make all implementations of Java compatible. Historically, Sun's trademark license for usage of the Java brand insists that all implementations be "compatible". This resulted in a legal dispute with Microsoft after Sun claimed that the Microsoft implementation did not support RMI or JNI and had added platform-specific features of their own. Sun sued in 1997, and in 2001 won a settlement of US$20 million, as well as a court order enforcing the terms of the license from Sun. [25] As a result, Microsoft no longer ships Windows with Java. Platform-independent Java is essential to Java EE, and an even more rigorous validation is required to certify an implementation. This environment enables portable server-side applications. Performance[edit] Main article: Java performance Programs written in Java have a reputation for being slower and requiring more memory than those written in C++. [26][27] However, Java programs' execution speed improved significantly with the introduction of Just-in-time compilation in 1997/1998 for Java 1.1, [28] the addition of language features supporting better code analysis (such as inner classes, the StringBuilder class, optional assertions, etc.), and optimizations in the Java virtual machine itself, such as HotSpot becoming the default for Sun's JVM in 2000. Some platforms offer direct hardware support for Java; there are microcontrollers that can run Java in hardware instead of a software Java virtual machine, and ARM based processors can have hardware support for executing Java bytecode through their Jazelle option. Automatic memory management[edit] Java uses an automatic garbage collector to manage memory in the object lifecycle. The programmer determines when objects are created, and the Java runtime is responsible for recovering the memory once objects are no longer in use. Once no references to an object remain, the unreachable memory becomes eligible to be freed automatically by the garbage collector. Something similar to a memory leak may still occur if a programmer's code holds a reference to an object that is no longer needed, typically when objects that are no longer needed are stored in containers that are still in use. If methods for a nonexistent object are called, a "null pointer exception" is thrown. [29][30]
One of the ideas behind Java's automatic memory management model is that programmers can be spared the burden of having to perform manual memory management. In some languages, memory for the creation of objects is implicitly allocated on the stack, or explicitly allocated and deallocated from the heap. In the latter case the responsibility of managing memory resides with the programmer. If the program does not deallocate an object, a memory leak occurs. If the program attempts to access or deallocate memory that has already been deallocated, the result is undefined and difficult to predict, and the program is likely to become unstable and/or crash. This can be partially remedied by the use of smart pointers, but these add overhead and complexity. Note that garbage collection does not prevent "logical" memory leaks, i.e. those where the memory is still referenced but never used. Garbage collection may happen at any time. Ideally, it will occur when a program is idle. It is guaranteed to be triggered if there is insufficient free memory on the heap to allocate a new object; this can cause a program to stall momentarily. Explicit memory management is not possible in Java. Java does not support C/C++ style pointer arithmetic, where object addresses and unsigned integers (usually long integers) can be used interchangeably. This allows the garbage collector to relocate referenced objects and ensures type safety and security. As in C++ and some other object-oriented languages, variables of Java's primitive data types are not objects. Values of primitive types are either stored directly in fields (for objects) or on the stack (for methods) rather than on the heap, as is commonly true for objects (but see escape analysis). This was a conscious decision by Java's designers for performance reasons. Because of this, Java was not considered to be a pure object-oriented programming language. However, as of Java 5.0, autoboxing enables programmers to proceed as if primitive types were instances of their wrapper class. Java contains multiple types of garbage collectors. By default, [citation needed] HotSpot uses the parallel scavenge garbage collector. However, there are also several other garbage collectors that can be used to manage the heap. For 90% of applications in Java, the Concurrent Mark Sweep garbage collector is sufficient. [31] Oracle aims to replace CMS with the Garbage-first collector (G1). Syntax[edit] Main article: Java syntax The syntax of Java is largely derived from C++. Unlike C++, which combines the syntax for structured, generic, and object-oriented programming, Java was built almost exclusively as an object-oriented language. All code is written inside a class, and everything is an object, with the exception of the primitive data types (i.e. integers, floating-point numbers, boolean values, and characters), which are not classes for performance reasons. Unlike C++, Java does not support operator overloading or multiple inheritance for classes. This simplifies the language and aids in preventing potential errors and anti-patterndesign. Java uses similar commenting methods to C++. There are three different styles of comments: a single line style marked with two slashes (//), a multiple line style opened with/* and closed with */, and the Javadoc commenting style opened with /** and closed with */. The Javadoc style of commenting allows the user to run the Javadoc executable to compile documentation for the program. Example: // This is an example of a single line comment using two slashes
/* This is an example of a multiple line comment using the slash and asterisk. This type of comment can be used to hold a lot of information or deactivate code, but it is very important to remember to close the comment. */
package fibsandlies; import java.util.HashMap;
/** * This is an example of a Javadoc comment; Javadoc can compile documentation * from this text. Javadoc comments must immediately precede the thing being documented. */ public class FibCalculator extends Fibonacci implements Calculator { private static HashMap<Integer, Integer> memoized = new HashMap<Integer, Integer>(); static { memoized.put(1, 1); memoized.put(2, 1); }
/** An example of a method written in Java, wrapped in a class. * Given a non-negative number FIBINDEX, returns * the Nth Fibonacci number, where N equals FIBINDEX. * @param fibIndex The index of the Fibonacci number * @return The Fibonacci number itself */ public static int fibonacci(int fibIndex) { if (memoized.containsKey(fibIndex)) { return memoized.get(fibIndex); } else { int answer = fibonacci(fibIndex - 1) + fibonacci(fibIndex - 2); memoized.put(fibIndex, answer); return answer; } } } Examples[edit]
This article contains instructions, advice, or how-to content. The purpose of Wikipedia is to present facts, not to train. Please help improve this article either by rewriting the how-to content or by moving it to Wikiversity, Wikibooks or Wikivoyage(January 2012) Hello world[edit] The traditional Hello world program can be written in Java as: [32]
class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); // Print the string to the console. } } To compare this to other programming languages see the list of hello world program examples. Source files must be named after the public class they contain, appending the suffix .java, for example, HelloWorldApp.java. It must first be compiled into bytecode, using aJava compiler, producing a file named HelloWorldApp.class. Only then can it be executed, or 'launched'. The Java source file may only contain one public class, but it can contain multiple classes with other than public access and any number of public inner classes. When the source file contains multiple classes, make one class 'public' and name the source file with that public class name. A class that is not declared public may be stored in any .java file. The compiler will generate a class file for each class defined in the source file. The name of the class file is the name of the class, with .class appended. For class file generation, anonymous classes are treated as if their name were the concatenation of the name of their enclosing class, a $, and an integer. The keyword public denotes that a method can be called from code in other classes, or that a class may be used by classes outside the class hierarchy. The class hierarchy is related to the name of the directory in which the .java file is located. The keyword static in front of a method indicates a static method, which is associated only with the class and not with any specific instance of that class. Only static methods can be invoked without a reference to an object. Static methods cannot access any class members that are not also static. The keyword void indicates that the main method does not return any value to the caller. If a Java program is to exit with an error code, it must call System.exit() explicitly. The method name "main" is not a keyword in the Java language. It is simply the name of the method the Java launcher calls to pass control to the program. Java classes that run in managed environments such as applets and Enterprise JavaBean do not use or need a main() method. A Java program may contain multiple classes that have mainmethods, which means that the VM needs to be explicitly told which class to launch from. The main method must accept an array of String objects. By convention, it is referenced as args although any other legal identifier name can be used. Since Java 5, the main method can also use variable arguments, in the form of public static void main(String... args), allowing the main method to be invoked with an arbitrary number of String arguments. The effect of this alternate declaration is semantically identical (the args parameter is still an array of String objects), but it allows an alternative syntax for creating and passing the array. The Java launcher launches Java by loading a given class (specified on the command line or as an attribute in a JAR) and starting its public static void main(String[])method. Stand-alone programs must declare this method explicitly. The String[] args parameter is an array of String objects containing any arguments passed to the class. The parameters to main are often passed by means of a command line. Printing is part of a Java standard library: The System class defines a public static field called out. The out object is an instance of the PrintStream class and provides many methods for printing data to standard out, including println(String) which also appends a new line to the passed string. The string "Hello World!" is automatically converted to a String object by the compiler. A more comprehensive example[edit]
This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (May 2013)
This article contains instructions, advice, or how-to content. The purpose of Wikipedia is to present facts, not to train. Please help improve this article either by rewriting the how-to content or by moving it to Wikiversity, Wikibooks or Wikivoyage(May 2013) // OddEven.java import javax.swing.JOptionPane;
public class OddEven {
private int userInput; // a whole number("int" means integer)
/** * This is the constructor method. It gets called when an object of the OddEven type * is being created. */ public OddEven() { /* * In most Java programs constructors can initialize objects with default values, or create * other objects that this object might use to perform its functions. In some Java programs, the * constructor may simply be an empty function if nothing needs to be initialized prior to the * functioning of the object. In this program's case, an empty constructor would suffice. * A constructor must exist; however, if the user doesn't put one in then the compiler * will create an empty one. */ }
/** * This is the main method. It gets called when this class is run through a Java interpreter. * @param args command line arguments (unused) */ public static void main(final String[] args) { /* * This line of code creates a new instance of this class called "number" (also known as an * Object) and initializes it by calling the constructor. The next line of code calls * the "showDialog()" method, which brings up a prompt to ask you for a number. */ OddEven number = new OddEven(); number.showDialog(); }
public void showDialog() { /* * "try" makes sure nothing goes wrong. If something does, * the interpreter skips to "catch" to see what it should do. */ try { /* * The code below brings up a JOptionPane, which is a dialog box * The String returned by the "showInputDialog()" method is converted into * an integer, making the program treat it as a number instead of a word. * After that, this method calls a second method, calculate() that will * display either "Even" or "Odd." */ userInput = Integer.parseInt(JOptionPane.showInputDialog("Please enter a number.")); calculate(); } catch (final NumberFormatException e) { /* * Getting in the catch block means that there was a problem with the format of * the number. Probably some letters were typed in instead of a number. */ System.err.println("ERROR: Invalid input. Please type in a numerical value."); } }
/** * When this gets called, it sends a message to the interpreter. * The interpreter usually shows it on the command prompt (For Windows users) * or the terminal (For *nix users).(Assuming it's open) */ private void calculate() { if ((userInput % 2) == 0) { JOptionPane.showMessageDialog(null, "Even"); } else { JOptionPane.showMessageDialog(null, "Odd"); } } } The import statement imports the JOptionPane class from the javax.swing package. The OddEven class declares a single private field of type int named userInput. Every instance of the OddEven class has its own copy of the userInput field. The private declaration means that no other class can access (read or write) the userInput field. OddEven() is a public constructor. Constructors have the same name as the enclosing class they are declared in, and unlike a method, have no return type. A constructor is used to initialize an object that is a newly created instance of the class. The calculate() method is declared without the static keyword. This means that the method is invoked using a specific instance of the OddEven class. (The referenceused to invoke the method is passed as an undeclared parameter of type OddEven named this.) The method tests the expression userInput % 2 == 0 using the ifkeyword to see if the remainder of dividing the userInput field belonging to the instance of the class by two is zero. If this expression is true, then it prints Even; if this expression is false it prints Odd. (The calculate method can be equivalently accessed as this.calculate and the userInput field can be equivalently accessed asthis.userInput, which both explicitly use the undeclared this parameter.) OddEven number = new OddEven(); declares a local object reference variable in the main method named number. This variable can hold a reference to an object of type OddEven. The declaration initializes number by first creating an instance of the OddEven class, using the new keyword and the OddEven() constructor, and then assigning this instance to the variable. The statement number.showDialog(); calls the calculate method. The instance of OddEven object referenced by the number local variable is used to invoke the method and passed as the undeclared this parameter to the calculate method. userInput = Integer.parseInt(JOptionPane.showInputDialog("Please Enter A Number")); is a statement that converts the type of String to the primitive data type int by using a utility function in the primitive wrapper class Integer. Special classes[edit]
This article contains instructions, advice, or how-to content. The purpose of Wikipedia is to present facts, not to train. Please help improve this article either by rewriting the how-to content or by moving it to Wikiversity, Wikibooks or Wikivoyage(January 2012) Applet[edit] Main article: Java applet Java applets are programs that are embedded in other applications, typically in a Web page displayed in a web browser. // Hello.java import javax.swing.JApplet; import java.awt.Graphics;
public class Hello extends JApplet { public void paintComponent(final Graphics g) { g.drawString("Hello, world!", 65, 95); } } The import statements direct the Java compiler to include the javax.swing.JApplet and java.awt.Graphics classes in the compilation. The import statement allows these classes to be referenced in the source code using the simple class name (i.e. JApplet) instead of the fully qualified class name (FQCN, i.e. javax.swing.JApplet). The Hello class extends (subclasses) the JApplet (Java Applet) class; the JApplet class provides the framework for the host application to display and control thelifecycle of the applet. The JApplet class is a JComponent (Java Graphical Component) which provides the applet with the capability to display a graphical user interface (GUI) and respond to user events. The Hello class overrides the paintComponent(Graphics) method (additionally indicated with the annotation, supported as of JDK 1.5, Override) inherited from theContainer superclass to provide the code to display the applet. The paintComponent() method is passed a Graphics object that contains the graphic context used to display the applet. The paintComponent() method calls the graphic context drawString(String, int, int) method to display the "Hello, world!" string at a pixel offset of (65, 95) from the upper-left corner in the applet's display. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!-- Hello.html --> <html> <head> <title>Hello World Applet</title> </head> <body> <applet code="Hello.class" width="200" height="200"> </applet> </body> </html> An applet is placed in an HTML document using the <applet> HTML element. The applet tag has three attributes set: code="Hello" specifies the name of the JAppletclass and width="200" height="200" sets the pixel width and height of the applet. Applets may also be embedded in HTML using either the object or embed element, [33] although support for these elements by web browsers is inconsistent. [34] However, the applet tag is deprecated, so the object tag is preferred where supported. The host application, typically a web browser, instantiates the Hello applet and creates an AppletContext for the applet. Once the applet has initialized itself, it is added to the AWT display hierarchy. The paintComponent() method is called by the AWT event dispatching thread whenever the display needs the applet to draw itself. Servlet[edit] Main article: Java Servlet Java Servlet technology provides Web developers with a simple, consistent mechanism for extending the functionality of a Web server and for accessing existing business systems. Servlets are server-side Java EE components that generate responses (typically HTML pages) to requests (typically HTTP requests) from clients. A servlet can almost be thought of as an applet that runs on the server sidewithout a face. // Hello.java import java.io.*; import javax.servlet.*;
public class Hello extends GenericServlet { public void service(final ServletRequest request, final ServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); final PrintWriter pw = response.getWriter(); try { pw.println("Hello, world!"); } finally { pw.close(); } } } The import statements direct the Java compiler to include all of the public classes and interfaces from the java.io and javax.servlet packages in the compilation. Packages make Java well suited for large scale applications. The Hello class extends the GenericServlet class; the GenericServlet class provides the interface for the server to forward requests to the servlet and control the servlet's lifecycle. The Hello class overrides the service(ServletRequest, ServletResponse) method defined by the Servlet interface to provide the code for the service request handler. The service() method is passed: a ServletRequest object that contains the request from the client and a ServletResponse object used to create the response returned to the client. The service() method declares that it throws the exceptions ServletException and IOException if a problem prevents it from responding to the request. The setContentType(String) method in the response object is called to set the MIME content type of the returned data to "text/html". The getWriter() method in the response returns a PrintWriter object that is used to write the data that is sent to the client. The println(String) method is called to write the "Hello, world!" string to the response and then the close() method is called to close the print writer, which causes the data that has been written to the stream to be returned to the client. JavaServer Pages[edit] Main article: JavaServer Pages JavaServer Pages (JSP) are server-side Java EE components that generate responses, typically HTML pages, to HTTP requests from clients. JSPs embed Java code in an HTML page by using the special delimiters <% and %>. A JSP is compiled to a Java servlet, a Java application in its own right, the first time it is accessed. After that, the generated servlet creates the response. Swing application[edit] Main article: Swing (Java) Swing is a graphical user interface library for the Java SE platform. It is possible to specify a different look and feel through the pluggable look and feel system of Swing. Clones ofWindows, GTK+ and Motif are supplied by Sun. Apple also provides an Aqua look and feel for Mac OS X. Where prior implementations of these looks and feels may have been considered lacking, Swing in Java SE 6 addresses this problem by using more native GUI widget drawing routines of the underlying platforms. This example Swing application creates a single window with "Hello, world!" inside: // Hello.java (Java SE 5) import javax.swing.*;
public class Hello extends JFrame { public Hello() { super("hello"); super.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); super.add(new JLabel("Hello, world!")); super.pack(); super.setVisible(true); }
public static void main(final String[] args) { new Hello(); } } The first import includes all of the public classes and interfaces from the javax.swing package. The Hello class extends the JFrame class; the JFrame class implements a window with a title bar and a close control. The Hello() constructor initializes the frame by first calling the superclass constructor, passing the parameter "hello", which is used as the window's title. It then calls thesetDefaultCloseOperation(int) method inherited from JFrame to set the default operation when the close control on the title bar is selected toWindowConstants.EXIT_ON_CLOSE this causes the JFrame to be disposed of when the frame is closed (as opposed to merely hidden), which allows the Java virtual machine to exit and the program to terminate. Next, a JLabel is created for the string "Hello, world!" and the add(Component) method inherited from the Containersuperclass is called to add the label to the frame. The pack() method inherited from the Window superclass is called to size the window and lay out its contents. The main() method is called by the Java virtual machine when the program starts. It instantiates a new Hello frame and causes it to be displayed by calling thesetVisible(boolean) method inherited from the Component superclass with the boolean parameter true. Once the frame is displayed, exiting the main method does not cause the program to terminate because the AWT event dispatching thread remains active until all of the Swing top-level windows have been disposed. Generics[edit] Main article: Generics in Java In 2004, generics were added to the Java language, as part of J2SE 5.0. Prior to the introduction of generics, each variable declaration had to be of a specific type. For container classes, for example, this is a problem because there is no easy way to create a container that accepts only specific types of objects. Either the container operates on all subtypes of a class or interface, usually Object, or a different container class has to be created for each contained class. Generics allow compile-time type checking without having to create a large number of container classes, each containing almost identical code. In addition to enabling more efficient code, certain runtime exceptions are converted to compile-time errors, a characteristic known as type safety. Criticism[edit] Main article: Criticism of Java Criticisms directed at Java include the implementation of generics, [35] speed, [36] the handling of unsigned numbers, [37] the implementation of floating-point arithmetic, [38] and a history of security vulnerabilities in the primary Java VM implementation HotSpot. [39]
Use on unofficial software platforms[edit] Java, the programming language, requires the presence of a software platform in order for compiled programs to be executed. One of the official software platforms is the Java SE platform. A very popular unofficial software platform is the Android software platform, which uses a different bytecode language and virtual machine, and is designed for low-memory devices such as smartphones and tablets.
Android makes extensive use of Java-related technology Google[edit] See also: Oracle v. Google Google and Android, Inc. have chosen to use Java as a key pillar in the creation of the Android operating system, an open-source smartphone operating system. Although the Android operating system, built on the Linux kernel, was written largely in C, the Android SDK uses the Java language as the basis for Android applications. However, Android does not use the Java virtual machine, instead using Java bytecode as an intermediate step and ultimately targeting Android's own Dalvik virtual machine. Android also does not provide the full Java SE standard library, although the Android class library does include an independent implementation of a large subset of it. This led to a legal dispute between Oracle and Google. On May 7, 2012, a San Francisco jury found that if APIs could be copyrighted, then Google had infringed Oracle's copyrights by the use of Java in Android devices. [40] District Judge William Haskell Alsup ruled on May 31, 2012, that APIs cannot be copyrighted, [41] but this was reversed by the Circuit Court in May 2014. [42][43]
Class libraries[edit]
This section does not cite any references or sources. Please help improve this section by adding citations to reliable sources. Unsourced material may be challenged and removed. (May 2013) The Java Class Library are the compiled bytecodes of source code developed by the JRE implementor to support application development in Java. Examples of these libraries are: The core libraries, which include: Many low level, GUI, Integration, Deployment and Tools Java Platform Standard Edition 7 Documentation Collection libraries that implement data structures such as lists, dictionaries, trees, sets, queues and double-ended queue, or stacks XML Processing (Parsing, Transforming, Validating) libraries Security Internationalization and localization libraries The integration libraries, which allow the application writer to communicate with external systems. These libraries include: The Java Database Connectivity (JDBC) API for database access Java Naming and Directory Interface (JNDI) for lookup and discovery RMI and CORBA for distributed application development JMX for managing and monitoring applications User interface libraries, which include: The (heavyweight, or native) Abstract Window Toolkit (AWT), which provides GUI components, the means for laying out those components and the means for handling events from those components The (lightweight) Swing libraries, which are built on AWT but provide (non- native) implementations of the AWT widgetry APIs for audio capture, processing, and playback A platform dependent implementation of the Java virtual machine that is the means by which the bytecodes of the Java libraries and third party applications are executed Plugins, which enable applets to be run in web browsers Java Web Start, which allows Java applications to be efficiently distributed to end-users across the Internet Licensing and documentation. Documentation[edit] Main article: Javadoc Javadoc is a comprehensive documentation system, created by Sun Microsystems, used by many Java developers. It provides developers with an organized system for documenting their code. Javadoc comments have an extra asterisk at the beginning, i.e. the tags are /** and */, whereas the normal multi-line comments in Java are set off with the tags /* and */. Editions[edit] See also: Free Java implementations Class library Java editions
Java Card Micro Edition (ME) Standard Edition (SE) Enterprise Edition (EE) JavaFX (Merged to Java SE 8) PersonalJava (discontinued) v t e Sun has defined and supports four editions of Java targeting different application environments and segmented many of its APIs so that they belong to one of the platforms. The platforms are: Java Card for smartcards. Java Platform, Micro Edition (Java ME) targeting environments with limited resources. Java Platform, Standard Edition (Java SE) targeting workstation environments. Java Platform, Enterprise Edition (Java EE) targeting large distributed enterprise or Internet environments. The classes in the Java APIs are organized into separate groups called packages. Each package contains a set of related interfaces, classes and exceptions. Refer to the separate platforms for a description of the packages available. The set of APIs is controlled by Sun Microsystems in cooperation with others through the Java Community Process program. Companies or individuals participating in this process can influence the design and development of the APIs. This process has been a subject of controversy. Sun also provided an edition called PersonalJava that has been superseded by later, standards-based Java ME configuration-profile pairings. See also[edit]
Java portal
Computer programming portal
Book: Programming for Students Dalvik JavaOne Javapedia List of Java virtual machines List of Java APIs List of JVM languages Graal, a project aiming to implement a high performance Java dynamic compiler and interpreter Comparison of Java with other languages[edit] Comparison of programming languages Comparison of Java and C++ Comparison of Java and C# Notes[edit] 1. ^ Jump up to: a
b "The History of Java Technology". Retrieved October 6, 2012. 2. Jump up^ Java 5.0 added several new language features (the enhanced for loop, autoboxing,varargs and annotations), after they were introduced in the similar (and competing) C#language [1] [2] 3. Jump up^ Gosling, James; and McGilton, Henry (May 1996). "The Java Language Environment". 4. Jump up^ Gosling, James; Joy, Bill; Steele, Guy; and Bracha, Gilad. "The Java Language Specification, 2nd Edition". 5. Jump up^ "The A-Z of Programming Languages: Modula-3". Computerworld.com.au. Retrieved 2010-06-09. 6. Jump up^ Niklaus Wirth stated on a number of public occasions, e.g. in a lecture at the Polytechnic Museum, Moscow in September, 2005 (several independent first-hand accounts in Russian exist, e.g. one with an audio recording: Filippova, Elena (September 22, 2005). "Niklaus Wirth's lecture at the Polytechnic Museum in Moscow".), that the Sun Java design team licenced the Oberon compiler sources a number of years prior to the release of Java and examined it: a (relative) compactness, type safety, garbage collection, no multiple inheritance for classes -- all these key overall design features are shared by Java and Oberon. 7. Jump up^ Patrick Naughton cites Objective-C as a strong influence on the design of the Java programming language, stating that notable direct derivatives include Java interfaces (derived from Objective-C's protocol) and primitive wrapper classes. [3] 8. Jump up^ TechMetrix Research (1999). "History of Java". Java Application Servers Report. "The project went ahead under the name "green" and the language was based on an old model of UCSD Pascal, which makes it possible to generate interpretive code" 9. Jump up^ "A Conversation with James Gosling ACM Queue". Queue.acm.org. 2004-08- 31. Retrieved 2010-06-09. 10. Jump up^ "Programming Language Popularity". 2014. Retrieved 2014-02-07. 11. Jump up^ "TIOBE Programming Community Index". 2009. Retrieved 2009-05-06. 12. Jump up^ Byous, Jon (c. 1998). "Java technology: The early years". Sun Developer Network. Sun Microsystems. Archived from the original on April 20, 2005. Retrieved 2005-04-22. 13. Jump up^ Object-oriented programming "The History of Java Technology". Sun Developer Network. c. 1995. Retrieved 2010-04-30. 14. Jump up^ "So why did they decide to call it Java?", Kieron Murphy, JavaWorld.com, 10/04/96 15. Jump up^ Kabutz, Heinz; Once Upon an Oak. Artima. Retrieved April 29, 2007. 16. Jump up^ Object-oriented Programming with Java: Essentials and Applications. Tata McGraw-Hill Education. p. 34. 17. Jump up^ Java Study Group; Why Java Was Not Standardized Twice; What is ECMAand why Microsoft cares 18. Jump up^ "Java Community Process website". Jcp.org. 2010-05-24. Retrieved 2010-06- 09. 19. Jump up^ "JAVAONE: Sun The bulk of Java is open sourced". GrnLight.net. Retrieved 2014-05-26. 20. Jump up^ "Suns Evolving Role as Java Evangelist". O'Reilly Media. 21. Jump up^ "Oracle and Java". oracle.com. Oracle Corporation. Retrieved 2010-08-23. "Oracle has been a leading and substantive supporter of Java since its emergence in 1995 and takes on the new role as steward of Java technology with a relentless commitment to fostering a community of participation and transparency." 22. Jump up^ "Learn About Java Technology". Oracle. Retrieved 21 November 2011. 23. Jump up^ Gosling, James (April 9, 2010). "Time to move on...". On a New Road. Retrieved 2011-11-16. 24. Jump up^ "The Java Language Environment". "1.2 Design Goals of the Java Programming Language". Oracle. 1999-01-01. Retrieved 2013-01-14. 25. Jump up^ Niccolai, James (January 23, 2001). "Sun, Microsoft settle Java lawsuit". JavaWorld(IDG). Retrieved 2008-07-09. 26. Jump up^ Jelovic, Dejan. "Why Java will always be slower than C++". Retrieved 2008-02- 15. 27. Jump up^ Google. "Loop Recognition in C++/Java/Go/Scala". Retrieved 2012-07-12. 28. Jump up^ "Symantec's Just-In-Time Java Compiler To Be Integrated Into Sun JDK 1.1". 29. Jump up^ "NullPointerException". Oracle. Retrieved 2014-05-06. 30. Jump up^ "Exceptions in Java". Artima.com. Retrieved 2010-08-10. 31. Jump up^ "Java HotSpot VM Options". Oracle.com. 2010-09-07. Retrieved 2012-06-30. 32. Jump up^ "Lesson: A Closer Look at the "Hello World!" Application". The Java Tutorials > Getting Started. Oracle Corporation. Retrieved 2011-04-14. 33. Jump up^ "Using applet, object and embed Tags". oracle.com. Retrieved 2010-10-14. 34. Jump up^ "Deploying Applets in a Mixed-Browser Environment". oracle.com. Retrieved 2010-10-14. 35. Jump up^ Arnold, Ken. "Generics Considered Harmful". java.net. Retrieved 4 July 2011. 36. Jump up^ Jelovic, Dejan. "Why Java Will Always Be Slower than C++". www.jelovic.com. Retrieved 17 October 2012. 37. Jump up^ Owens, Sean R. "Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)". Archived from the original on 2004-11- 09. Retrieved 2011-07-04. 38. Jump up^ Kahan, William. "How Javas Floating-Point Hurts Everyone Everywhere". Electrical Engineering & Computer Science, University of California at Berkeley. Retrieved 4 June 2011. 39. Jump up^ "Have you checked the Java?". 40. Jump up^ Mullin, Joe. "Google guilty of infringement in Oracle trial; future legal headaches loom". Law & Disorder. Ars Technica. Retrieved 8 May 2012. 41. Jump up^ Joe Mullin (May 31, 2012). "Google wins crucial API ruling, Oracles case decimated".Ars Technica. Retrieved 2012-06-01. 42. Jump up^ Rosenblatt, Seth (May 9, 2014). "Court sides with Oracle over Android in Java patent appeal". CNET. Retrieved 2014-05-10. 43. Jump up^ "ORACLE AMERICA, INC. , Plaintiff - Appellant, v. GOOGLE INC., Defendant - Cross - Appellant.". Court of Appeals for the Federal Circuit. May 9, 2014. Retrieved 2014-05-10. References[edit] Gosling, James, A brief history of the Green project. [dead link] Java.net, no date [ca. Q1/1998]. Retrieved April 29, 2007. Gosling, James, A brief history of the Green project. [dead link] anonymous-insider.net, no date [ca. Q1/1998]. Retrieved September 4, 2013. Gosling, James; Joy, Bill; Steele, Guy L., Jr.; Bracha, Gilad (2005). The Java Language Specification (3rd ed.). Addison-Wesley. ISBN 0-321-24678-0. Lindholm, Tim; Yellin, Frank (1999). The Java Virtual Machine Specification (2nd ed.). Addison- Wesley. ISBN 0-201-43294-3. External links[edit] Find more about Java (programming language) at Wikipedia's sister projects
Definitions from Wiktionary
Media from Commons
Quotations from Wikiquote
Textbooks from Wikibooks
Learning resources from Wikiversity
Wikiversity has learning materials about Java Platform, Enterprise Edition/Java EE Tutorial java.com: Main website [show] v t e Java
[show] v t e Sun Microsystems (acquired by Oracle Corporation, 2010)
[show] v t e Free and open-source software
Categories: C programming language family Class-based programming languages Concurrent programming languages Cross-platform software Java platform Java programming language Java specification requests JVM programming languages Object-oriented programming languages Programming languages created in 1995 Statically typed pr ava From Wikipedia, the free encyclopedia This article is about the Indonesian island. For the programming language, see Java (programming language). For other uses, see Java (disambiguation). Java Native name: Jawa-
Topography of Java
Geography Location Southeast Asia Coordinates 72930S 1100016ECoordinates: 72930S 1100016E Archipelago Greater Sunda Islands Area 138,794 km 2 (53,589 sq mi) Area rank 13th Highest elevati on 3,676 m (12,060 ft) Highest point Semeru Country Indonesia Provinces Banten, Special Capital Region of Jakarta, West Java, Central Java, East Java, Yogyakarta Special Region Largest city Jakarta Demographics Population 143 million (as of 2014) Density 1,117 /km 2 (2,893 /sq mi) Ethnic groups Javanese (inc. Cirebonese,Tenggerese, Osing), Sundanese(inc. Bantenese, Baduy), Be tawi,Madurese Java (Indonesian: Jawa; Javanese: ) is an island of Indonesia. With a population of 143 million, Java is the world's most populous island, and one of the most densely populated places in the world. Java is the home of 57 percent of the Indonesian population. The Indonesian capital city, Jakarta, is located on western Java. Much of Indonesian history took place on Java. It was the center of powerful Hindu- Buddhist empires, the Islamic sultanates, and the core of the colonial Dutch East Indies. Java was also the center of the Indonesian struggle for independence during the 1930s and 40s. Java dominates Indonesiapolitically, economically and culturally. Formed mostly as the result of volcanic eruptions, Java is the 13th largest island in the world and the fifth largest island in Indonesia. A chain of volcanic mountains forms an east-west spine along the island. It has three main languages, withJavanese being the dominant language; it is the native language of about 60 million people in Indonesia, most of whom live on Java. Most of its residents are bilingual, with Indonesian as their first or second language. While the majority of the people of Java are Muslim, Java has a diverse mixture of religious beliefs, ethnicities, and cultures. Java is divided into four provinces, West Java, Central Java, East Java, and Banten, and also two special regions, Jakarta andYogyakarta. Contents [hide] 1 Etymology 2 Geography 3 Natural environment 4 Administrative division 5 History o 5.1 Hindu-Buddhist kingdoms era o 5.2 Spread of Islam and rise of Islamic sultanates o 5.3 Colonial periods o 5.4 Independence 6 Demography o 6.1 Ethnicity and culture o 6.2 Languages o 6.3 Religion 7 Economy 8 See also 9 References 10 Sources 11 Further reading 12 External links Etymology[edit] The origins of the name "Java" are not clear. One possibility is that the island was named after the jwa- wut plant, which was said to be common in the island during the time, and that prior to Indianization the island had different names. [1] There are other possible sources: the word ja and its variations mean "beyond" or "distant". [2] And, in Sanskrit yava means barley, a plant for which the island was famous. [2] "Yawadvipa" is mentioned in India's earliest epic, the Ramayana. Sugriva, the chief ofRama's army dispatched his men to Yawadvipa, the island of Java, in search of Sita. [3] It was hence referred to in Indian by the Sanskrit name "yvaka dvpa" (dvpa = island). Another source states that the "Java" word is derived from a Proto-Austronesian root word, meaning 'home'. [4]
Geography[edit]
Mount Semeru and Bromo in East Java See also: Volcanoes of Java Java lies between Sumatra to the west and Bali to the east. Borneo lies to the north and Christmas Island is to the south. It is theworld's 13th largest island. Java is surrounded by Java Sea in the north, Sunda Strait in the west, Indian Ocean in the south and Bali Strait and Madura Strait in the east. Java is almost entirely of volcanic origin; it contains thirty-eight mountains forming an east-west spine which have at one time or another been active volcanoes. The highest volcano in Java is Mount Semeru (3,676 m). The most active volcano in Java and also in Indonesia is Mount Merapi (2,930 m). See Volcanoes of Java. More mountains and highlands help to split the interior into a series of relatively isolated regions suitable for wet-rice cultivation; the rice lands of Java are among the richest in the world. [5] Java was the first place where Indonesian coffee was grown, starting in 1699. Today, Coffea arabica is grown on the Ijen Plateau by small-holders and larger plantations. Parahyangan highland nearBuitenzorg, c. 18651872 The area of Java is approximately 150,000 km 2 . [6] It is about 1,000 km (620 mi) long and up to 210 km (130 mi) wide. The island's longestriver is the 600 km long Solo River. [7] The river rises from its source in central Java at the Lawu volcano, then flows north and eastward to its mouth in the Java Sea near the city of Surabaya. Other major rivers are Brantas, Citarum, Cimanuk and Serayu. The average temperature ranges from 22 C to 29 C; average humidity is 75%. The northern coastal plains are normally hotter, averaging 34 C during the day in the dry season. The south coast is generally cooler than the north, and highland areas inland are even cooler. [8] The wet season begins in October and ends in April during which rain falls mostly in the afternoons and intermittently during other parts of the year. The wettest months are January and February. West Java is wetter than East Java and mountainous regions receive much higher rainfall. The Parahyangan highlands of West Java receive over 4,000 mm annually, while the north coast of East Java receives 900 mm annually. Natural environment[edit]
Male Javan rhino shot in 1934 in West Java. Today only small numbers of Javan rhino survive in Ujung Kulon; it is the world's rarest rhino. The natural environment of Java is tropical rainforest, with ecosystems ranging from coastal mangrove forests on the north coast, rocky coastal cliffs on the southern coast, and low-lying tropical forests to high altitude rainforests on the slopes of mountainous volcanic regions in the interior. The Javan environment and climate gradually alters from west to east; from wet and humid dense rainforest in western parts, to a dry savanna environment in the east, corresponding to the climate and rainfall in these regions. Originally Javan wildlife supported a rich biodiversity, where numbers of endemic species of flora and fauna flourished; such as the Javan rhinoceros, [9] Javan banteng, Javan warty pig, Javan hawk- eagle, Javan peafowl, Javan silvery gibbon, Javan lutung, Java mouse-deer,Javan rusa, and Javan leopard. With over 450 species of birds and 37 endemic species, Java is a birdwatcher's paradise. [10] There are about 130 freshwater fish species in Java. [11]
However, Java is also home to large numbers of humans. With an estimated population of 114,733,500 in 1995, Java contains well over half of Indonesia's population. [12] Since ancient times, people have opened the rainforest, altered the ecosystem, shaped the landscapes and created rice paddy and terraces to support the growing population. Javan rice terraces have existed for more than a millennium, and had supported ancient agricultural kingdoms. The growing human population has put severe pressure on Java's wildlife, as rainforests were diminished and confined to highland slopes or isolated peninsulas. Some of Java's endemic species are now critically endangered, with some already extinct; Java used to have Javan tigers and Javan elephants, but both have been rendered extinct. Today, several national parks exist in Java that protect the remnants of its fragile wildlife, such asUjung Kulon, Mount Halimun-Salak, Gede Pangrango, Baluran, Meru Betiri and Alas Purwo. Administrative division[edit] The island is administratively divided into four provinces: Banten, capital: Serang West Java, capital: Bandung Central Java, capital: Semarang East Java, capital: Surabaya and two special regions: Jakarta Yogyakarta History[edit]
Mount Merbabu surrounded by rice fields. Java's volcanic topography and rich agricultural lands are the fundamental factors in its history. Fossilised remains of Homo erectus, popularly known as the "Java Man", dating back 1.7 million years were found along the banks of theBengawan Solo River. [13]
The island's exceptional fertility and rainfall allowed the development of wet-field rice cultivation, which required sophisticated levels of cooperation between villages. Out of these village alliances, small kingdoms developed. The chain of volcanic mountains and associated highlands running the length of Java kept its interior regions and peoples separate and relatively isolated. [14] Before the advent of Islamic states and European colonialism, the rivers provided the main means of communication, although Java's many rivers are mostly short. Only the Brantas and Sala rivers could provide long-distance communication, and this way their valleys supported the centres of major kingdoms. A system of roads, permanent bridges and toll gates is thought to have been established in Java by at least the mid-17th century. Local powers could disrupt the routes as could the wet season and road use was highly dependent on constant maintenance. Subsequently, communication between Java's population was difficult. [15]
Hindu-Buddhist kingdoms era[edit] The Taruma and Sunda kingdoms of western Java appeared in the 4th and 7th centuries respectively. However, the first major principality was the Medang Kingdom which was founded in central Java at the beginning of the 8th century. Medang's religion centred on the Hindu god Shiva, and the kingdom produced some of Java's earliest Hindu temples on the Dieng Plateau. Around the 8th century the Sailendra dynasty rose in Kedu Plain and become the patron of Mahayana Buddhism. This ancient kingdom built monuments such as the 9th century Borobudur and Prambanan in central Java.
Prambanan Hindu temple
The 9th century Borobudur Buddhiststupa in Central Java Around the 10th century the centre of power shifted from central to eastern Java. The eastern Javanese kingdoms of Kediri, Singhasariand Majapahit were mainly dependent on rice agriculture, yet also pursued trade within the Indonesian archipelago, and with China and India. Majapahit was established by Wijaya and by the end of the reign of Hayam Wuruk (r. 1350-89) it claimed sovereignty over the entire Indonesian archipelago, although control was likely limited to Java, Bali and Madura. Hayam Wuruk's prime minister, Gajah Mada, led many of the kingdom's territorial conquests. Previous Javanese kingdoms had their power based in agriculture, however, Majapahit took control of ports and shipping lanes and became Java's first commercial empire. With the death of Hayam Wuruk and the coming of Islam to Indonesia, Majapahit went into decline. Spread of Islam and rise of Islamic sultanates[edit] Islam became the dominant religion in Java at the end of the 16th century. During this era, the Islamic kingdoms of Demak, Cirebon, andBanten were ascendant. The Mataram Sultanate became the dominant power of central and eastern Java at the end of the 16th century. The principalities of Surabaya and Cirebon were eventually subjugated such that only Mataram and Banten were left to face the Dutch in the 17th century. Colonial periods[edit]
Tea plantation in Java during Dutch colonial period, in or before 1926 Java's contact with the European colonial powers began in 1522 with a treaty between the Sunda kingdom and the Portuguese in Malacca. After its failure the Portuguese presence was confined to Malacca, and to the eastern islands. In 1596, a four-ship expedition led by Cornelis de Houtman was the first Dutch contact with Indonesia. [16] By the end of the 18th century the Dutch had extended their influence over the sultanates of the interior (see Dutch East India Company in Indonesia). Internal conflict prevented the Javanese from forming effective alliances against the Dutch. Remnants of the Mataram survived as the Surakarta (Solo) and Yogyakarta principalities. Javanese kings claimed to rule with divine authority and the Dutch helped them to preserve remnants of a Javanese aristocracy by confirming them as regents or district officials within the colonial administration. Java's major role during the early part of the colonial period was as a producer of rice. In spice producing islands like Banda, rice was regularly imported from Java, to supply the deficiency in means of subsistence. [17]
During Napoleonic wars in Europe, the Netherlands fell under France Republic, and so did its colony in East Indies. During the short-livedDaendels administration (as French proxy rule on Java), the construction of Java Great Post Road was commenced in 1808. The road span from Anyer in Western Java to Panarukan in East Java served as a military supply route to defend Java from incoming British invasion. [18]
In 1811, Java was captured by the British, becoming a possession of the British Empire, and Sir Stamford Raffles was appointed as the island's Governor. In 1814, Java was returned to the Dutch under the terms of the Treaty of Paris. [19]
Japanese prepare to discuss surrender terms with British-allied forces in Java 1945 In 1815, there may have been five million people in Java. [20] In the second half of the 18th century, population spurts began in districts along the north-central coast of Java, and in the 19th century population grew rapidly across the island. Factors for the great population growth include the impact of Dutch colonial rule including the imposed end to civil war in Java, the increase in the area under rice cultivation, and the introduction of food plants such as casava and maize which could sustain populations that could not afford rice. [21] Others attribute the growth to the taxation burdens and increased expansion of employment under the Cultivation System to which couples responded by having more children in the hope of increasing their families' ability to pay tax and buy goods. [22] Cholera claimed 100,000 lives in Java in 1820. [23]
The advent of trucks and railways where there had previously only been buffalo and carts, telegraph systems, and more coordinated distribution systems under the colonial government all contributed to famine elimination in Java, and in turn, population growth. There were no significant famines in Java from the 1840s through to the Japanese occupation in the 1940s. [24] Ethnological factors are also thought to have contributed to the increase in population. In Java, there was no absolute preference for boy babies which was significant in Java where agriculture depends on the labour of both men and women. Furthermore, the age of first marriage dropped during the 19th century thus increasing a woman's child bearing years. [24]
Independence[edit] Indonesian nationalism first took hold in Java in the early 20th century (see Indonesian National Awakening), and the struggle to secure the country's independence followingWorld War II was centered in Java. The abortive coup and the subsequent violent anti-communist purge in 1965/66 largely took place in Java. The island has dominated Indonesian social, political and economic life, which has been the source of resentment of those residents in other islands. In 1998, preceding the fall of Suharto's 32- year presidency, large riots targeted the Chinese Indonesians in another series of pogroms. [25]
With a combined population of 136.5 million in the 2010 census (including Madura's 3.6 million), [28] which is estimated for 2014 at 143.1 million (including 3.7 million for Madura), Java is the most populous island in the world and is home to 57% of Indonesia's population. [28] At nearly 1,100 people per km in 2014 it is also one of the most densely populated parts of the world. Though little population growth is registered in Central Java, East Java, and Yogyakarta, these regions have higher birth rates than one would assume due to mass emigration to the Western side of Java, Sumatra, Borneo, and Papua. Approximately 45% of the population of Indonesia is ethnically Javanese, [29] while Sundanese make a large portion of Java's population as well. The dense Western third of the island (West Java, Banten, and DKI Jakarta) has an even higher population density of nearly 1,500 per km 2 and is taking up the lion's share of the population growth of Java. [28] It is home to 3 metropolitan areas, Greater Jakarta (with outlying areas of Greater Serang and Greater Sukabumi), Greater Bandung, and GreaterCirebon. Province or Special Region Capital Area km 2)
Are a % Populatio n Census of 2000 [30]
Populatio n Census of 2010 [30]
Populatio n 2014 Estimate (Min. Health) [27]
Populatio n Density in 2014 Banten Serang 9,662.92 7.1 8,098,277 10,632,166 11,834,087 1,224 DKI Jakarta - 664.01 0.5 8,361,079 9,607,787 10,135,030 15,263 West Java Bandung 35,377.76 27.1 35,724,093 43,053,732 46,300,543 1,309 Central Java Semarang 32,800.69 25.3 31,223,258 32,382,657 32,779,832 999 Yogyakarta Yogyakart a 3,133.15 2.4 3,121,045 3,457,491 3,594,290 1,147 East Java Surabaya 47,799.75 37.3 34,765,993 37,476,757 38,529,481 806 Region Administered as Java Jakarta 129,438.2 8 100% 121,293,745 136,610,590 143,173,263 1,106 Madura Islan d of East Java - 5,025.30 3.3 3,230,300 3,622,763 3,724,545 741 Java Island 1) - 124,412.9 8 96.7 118,063,445 132,987,827 139,448,718 1,121 1) Other islands are included in this figure but are very small in population and area, Nusa Barung 100 km2, Bawean 196 km2, Karimunjawa 78 km2, Kambangan 121 km2, Panaitan 170 km2, Thousand Islands 8.7 km2 - with a combined population of roughly 90,000.
2) Land area of provinces updated in 2010 Census figures, areas may be different than past results.
From the 1970s to the fall of the Suharto regime in 1998, the Indonesian government ran transmigration programs aimed at resettling the population of Java on other less-populated islands of Indonesia. This program has met with mixed results; sometimes causing conflicts between the locals and the recently arrived settlers. However, Java's share of the nation's population has fallen steadily. Jakarta and its outskirts being the dominant metropolis is also home to people from all over the nation. East Java is also home to ethnic Balinese, as well as large numbers of Madurans due to their historic poverty. Ethnicity and culture[edit] See also: Culture of Indonesia and Music of Java
A teenager in Java wearing traditional Javanese attire:blangkon headgear, batiksarong and kris as accessory. 1913 Despite its large population and in contrast to the other larger islands of Indonesia, Java is comparatively homogeneous in ethnic composition. Only two ethnic groups are native to the island the Javanese and Sundanese. A third group is the Madurese, who inhabit the island of Maduraoff the north east coast of Java, and have immigrated to East Java in large numbers since the 18th century. [31] The Javanese comprise about two-thirds of the island's population, while the Sundanese and Madurese account for 20% and 10% respectively. [31] The fourth group is theBetawi people that speak a dialect of Malay, they are the descendants of the people living around Batavia from around the 17th century. Betawis are creole people, mostly descended from various Indonesian archipelago ethnic groups such as Malay, Sundanese, Javanese, Balinese,Minang, Bugis, Makassar, Ambonese, mixed with foreign ethnic groups such as Portuguese, Dutch, Arab, Chinese and Indian brought to or attracted to Batavia to meet labour needs. They have a culture and language distinct from the surrounding Sundanese and Javanese. The Javanese kakawin Tantu Pagelaran explained the mythical origin of the island and its volcanic nature. Four major cultural areas exist on the island: the kejawen or Javanese heartland, the north coast of the pasisir region, the Sunda lands of West Java, and the eastern salient, also known as Blambangan. Madura makes up a fifth area having close cultural ties with coastal Java. [31] The kejawen Javanese culture is the island's most dominant. Java's remaining aristocracy are based here, and it is the region from where the majority of Indonesia's army, business, and political elite originate. Its language, arts, and etiquette are regarded as the island's most refined and exemplary. [31] The territory fromBanyumas in the west through to Blitar in the east and encompasses Indonesia's most fertile and densely populated agricultural land. [31]
In the southwestern part of Central Java, which is usually named the Banyumasan region, a cultural mingling occurred; bringing together Javanese culture and Sundanese culture to create the Banyumasan culture. [citation needed] In the central Javanese court cities of Yogyakarta andSurakarta, contemporary kings trace their lineages back to the pre-colonial Islamic kingdoms that ruled the region, making those places especially strong repositories of classical Javanese culture. Classic arts of Java include gamelan music and wayang puppet shows. Java was the site of many influential kingdoms in the Southeast Asian region, [32] and as a result, many literary works have been written by Javanese authors. These include Ken Arok and Ken Dedes, the story of the orphan who usurped his king, and married the queen of the ancient Javanese kingdom; and translations of Ramayana and Mahabharata. Pramoedya Ananta Toer is a famous contemporary Indonesian author, who has written many stories based on his own experiences of having grown up in Java, and takes many elements from Javanese folklore and historical legends. Languages[edit]
Languages spoken in Java (Javanese is shown in white). "Malay" refers to Betawi, the local dialect as one of Malay creole dialect. The three major languages spoken on Java are Javanese, Sundanese and Madurese. Other languages spoken include Betawi (a Malaydialect local to the Jakarta region), Osing, Banyumasan, and Tenggerese (closely related to Javanese), Baduy (closely related to Sundanese), Kangeanese (closely related to Madurese), and Balinese. [33] The vast majority of the population also speaks Indonesian, often as a second language. Religion[edit]
Mosque in Pati, Central Java duringcolonial period. The mosque combined traditional Javanese style (multi-tiered roof) with European architecture. Java has been a melting pot of religions and cultures, which has created a broad range of religious belief. Indian influences came first with Shaivism and Buddhism penetrating deeply into society, blending with indigenous tradition and culture. [34] One conduit for this were the ascetics, called resi, who taught mystical practices. A resi lived surrounded by students, who took care of their master's daily needs. Resi's authorities were merely ceremonial. At the courts, Brahmin clerics and pudjangga (sacred literati) legitimised rulers and linked Hindu cosmology to their political needs. [34] Small Hindu enclaves are scattered throughout Java, but there is a large Hindu population along the eastern coast nearest Bali, especially around the town of Banyuwangi. Islam, which came after Hinduism, strengthened the status structure of this traditional religious pattern. More than 90 percent of the people of Java are Muslims, on a broad continuum between abangan (more traditional) and santri (more modernist). The Muslim scholar of the writ (Kyai) became the new religious elite as Hindu influences receded. Islam recognises no hierarchy of religious leaders nor a formal priesthood, but the Dutch colonial government established an elaborate rank order for mosque and other Islamic preaching schools. In Javanese pesantren (Islamic schools), The Kyai perpetuated the tradition of the resi. Students around him provided his needs, even peasants around the school. [34]
Pre-Islamic Javan traditions have encouraged Islam in a mystical direction. There emerged in Java a loosely structured society of religious leadership, revolving around kyais, possessing various degrees of proficiency in pre-Islamic and Islamic lore, belief and practice. [34] The kyais are the principal intermediaries between the villages masses and the realm of the supernatural. However, this very looseneess of kyai leadership structure has promotedschism. There were often sharp divisions between orthodox kyais, who merely instructed in Islamic law, with those who taught mysticism and those who sought reformed Islam with modern scientific concepts. As a result, there is a division between santri, who believe that they are more orthodox in their Islamic belief and practice, with abangan, who have mixed pre-Islamic animistic and Hindu-Indian concepts with a superficial acceptance of Islamic belief. [34]
There are also Christian communities, mostly in the larger cities, though some rural areas of south- central Java are strongly Roman Catholic. Buddhist communities also exist in the major cities, primarily among the Chinese Indonesian. The Indonesian constitution recognises six official religions. (See Religion in Indonesia.) A wider effect of this division is the number of sects. In the middle of 1956, the Department of Religious Affairs in Yogyakarta reported 63 religious sects in Java other than the official Indonesian religions. Of these, 35 were in Central Java, 22 in West Java and 6 in East Java. [34] These include Kejawen, Sumarah, Subud, etc. Their total membership is difficult to estimate as many of their adherents identify themselves with one of the official religions. [35]
Economy[edit]
Javanese women planting rice in a rice field near Prambanan, Yogyakarta Initially the economy of Java relied heavily on rice agriculture. Ancient kingdoms such as the Tarumanagara, Mataram, and Majapahitwere dependent on rice yields and tax. Java was famous for rice surpluses and rice export since ancient times, and rice agriculture contributed to the population growth of the island. Trade with other parts of Asia such as India and China flourished as early as the 4th century, as evidenced by Chinese ceramics found on the island dated to that period. Java also took part in the global trade of Malukuspice from ancient times in the Majapahit era, until well into the VOC era. Dutch East India Company set their foothold on Batavia in the 17th century and was succeeded by Netherlands East Indies in the 18th century. During these colonial times, the Dutch introduced the cultivation of commercial plants in Java, such as sugarcane, rubber, coffee,tea, and quinine. In the 19th and early 20th century, Javanese coffee gained global popularity. Thus, the name "Java" today has become a synonym for coffee.
Java transportation network Java is the most developed island in Indonesia since the era of Netherlands East Indies to modern Republic of Indonesia. The road transportation networks that have existed since ancient times were connected and perfected with the construction of Java Great Post Road by Daendels in the early 19th century. The Java Great Post Road become the backbone of Java's road infrastructure and laid the base of Java North Coast Road (Indonesian: Jalan Pantura, abbreviation from "Pantai Utara"). The need to transport commercial produces such as coffee from plantations in the interior of the island to the harbour on the coast spurred the construction of railway networks in Java. Today the industry, business and trade, also services flourished in major cities of Java, such as Jakarta, Surabaya, Semarang, and Bandung; while some traditional Sultanate cities such as Yogyakarta,Surakarta, and Cirebon preserved its royal legacy and become the centre of art, culture and tourism in Java. Industrial estates also growing in towns on northern coast of Java, especially around Cilegon, Tangerang, Bekasi, Karawang, Gresik and Sidoarjo. The toll road highway networks was built and expanded since Suharto era until now, connecting major urban centres and surrounding areas, such as in and around Jakarta and Bandung; also the ones in Cirebon, Semarang and Surabaya. In addition to these motorways, Java has 16 national highways. Based on the statistical data by the year of 2012 which's released by Badan Pusat Statistik, Java Island itself contributes at least 57,51 % of Indonesia's Gross Domestic Product or equivalent to 504 billions US$. See also[edit]
Indonesia portal History of Indonesia List of monarchs of Java Spread of Islam in Indonesia References[edit] 1. Jump up^ Raffles, Thomas E. : History of Java. Oxford University Press, 1965. Page 2 2. ^ Jump up to: a
b Raffles, Thomas E. : History of Java. Oxford University Press, 1965 . Page 3 3. Jump up^ History of Ancient India Kapur, Kamlesh 4. Jump up^ Hatley, R., Schiller, J., Lucas, A., Martin-Schiller, B., (1984). "Mapping cultural regions of Java" in: Other Javas away from the kraton. pp. 132. 5. Jump up^ Ricklefs, M.C. (1990). A History of Modern Indonesia since c.1300 (2nd edition). London: MacMillan. p. 15. ISBN 0-333-57690-X. 6. Jump up^ Monk,, K.A.; Fretes, Y.; Reksodiharjo-Lilley, G. (1996). The Ecology of Nusa Tenggara and Maluku. Hong Kong: Periplus Editions Ltd. p. 7. ISBN 962-593-076-0. 7. Jump up^ Management of Bengawan Solo River Area Jasa Tirta I Corporation 2004. Retrieved 26 July 2006 8. Jump up^ "Climate, Weather, and Temperature of Java Indonesia". Retrieved 1 April 2014. 9. Jump up^ "Javan Rhinoceros (Rhinoceros sondaicus)". EDGE Evolutionarily Distinct and Globally Endangered. Retrieved 26 June 2012. 10. Jump up^ "Indonesia bird watching tour". wildlifenews.co.uk. Retrieved 26 June 2012. 11. Jump up^ Nguyen, T.T.T., and S. S. De Silva (2006). Freshwater finfish biodiversity and conservation: an asian perspective. Biodiversity & Conservation 15(11): 3543-3568 12. Jump up^ "Doing Business in Indonesia". export.gov. Retrieved 26 June 2012. 13. Jump up^ Pope, G G (1988). "Recent advances in far eastern paleoanthropology". Annual Review of Anthropology 17: 43 77. doi:10.1146/annurev.an.17.100188.000355. cited inWhitten, T; Soeriaatmadja, R. E., Suraya A. A. (1996). The Ecology of Java and Bali. Hong Kong: Periplus Editions Ltd. pp. 309312. ; Pope, G (August 15, 1983). "Evidence on the Age of the Asian Hominidae". Proceedings of the National Academy of Sciences of the United States of America 80 (16): 4,988 4992. doi:10.1073/pnas.80.16.4988.PMC 384173. PMID 6410399. cited in Whitten, T; Soeriaatmadja, R. E., Suraya A. A. (1996). The Ecology of Java and Bali. Hong Kong: Periplus Editions Ltd. p. 309. ; de Vos, J.P.; P.Y. Sondaar, (9 December 1994). "Dating hominid sites in Indonesia" (PDF).Science Magazine 266 (16): 4,988 4992. doi:10.1126/science.7992059. cited inWhitten, T; Soeriaatmadja, R. E., Suraya A. A. (1996). The Ecology of Java and Bali. Hong Kong: Periplus Editions Ltd. p. 309. 14. Jump up^ Ricklefs (1991), pp. 1617 15. Jump up^ Ricklefs (1991), p. 15. 16. Jump up^ Ames, Glenn J. (2008). The Globe Encompassed: The Age of European Discovery, 15001700. p. 99. 17. Jump up^ St. John, Horace Stebbing Roscoe (1853). The Indian Archipelago: its history and present state, Volume 1. Longman, Brown, Green, and Longmans. p. 137. 18. Jump up^ Ekspedisi Anjer-Panaroekan, Laporan Jurnalistik Kompas. Penerbit Buku Kompas, PT Kompas Media Nusantara, Jakarta Indonesia. November 2008. pp. 1 2. ISBN 978-979-709-391-4. 19. Jump up^ Atkins, James (1889). The Coins And Tokens Of The Possessions And Colonies Of The British Empire. London: Quaritch, Bernard. p. 213. 20. Jump up^ Java (island, Indonesia). Encyclopdia Britannica. 21. Jump up^ Taylor (2003), p. 253. 22. Jump up^ Taylor (2003), pp. 253-254. 23. Jump up^ Byrne, Joseph Patrick (2008). Encyclopedia of Pestilence, Pandemics, and Plagues: A-M. ABC-CLIO. p. 99. ISBN 0-313-34102-8. 24. ^ Jump up to: a
b Taylor (2003), p. 254. 25. Jump up^ "Ethnic Chinese tell of mass rapes". BBC News. 23 June 1998. Retrieved 28 April 2010. 26. Jump up^ "Statistics Indonesia". Bps.go.id. Retrieved 2013-07-17. 27. ^ Jump up to: a
b http://www.depkes.go.id/downloads/Penduduk%20Kab%20Kota%20Umur%20Tun ggal%202014.pdfEstimasi Penduduk Menurut Umur Tunggal Dan Jenis Kelamin 2014 Kementerian Kesehatan 28. ^ Jump up to: a
b
c "Population growth good for Papua". The Jakarta Post. August 23, 2010. 29. Jump up^ CIA factbook 30. ^ Jump up to: a
b "Indonesia (Urban City Population): Provinces & Cities - Statistics & Maps on City Population". Citypopulation.de. 2010-05-01. Retrieved 2013-07-17. 31. ^ Jump up to: a
b
c
d
e Hefner, Robert (1997). Java. Singapore: Periplus Editions. p. 58. ISBN 962-593-244-5. 32. Jump up^ See Wallace Stevens's poem "Tea" for an appreciative allusion to Javanese culture. 33. Jump up^ Languages of Java and Bali Ethnologue. Other sources may list some of these as dialects rather than languages. 34. ^ Jump up to: a
b
c
d
e
f van der Kroef, Justus M. (1961). "New Religious Sects in Java". Far Eastern survey 30 (2): 1815. doi:10.1525/as.1961.30.2.01p1432u. JSTOR 3024260. 35. Jump up^ Beatty, Andrew, Varieties of Javanese Religion: An Anthropological Account, Cambridge University Press 1999, ISBN 0-521-62473-8 Sources[edit] Taylor, Jean Gelman (2003). Indonesia: Peoples and Histories. New Haven and London: Yale University Press. ISBN 0-300-10518-5. Further reading[edit] Cribb, Robert (2000). Historical Atlas of Indonesia. London and Honolulu: RoutledgeCurzon Press, University of Hawaii Press. ISBN 0-8248-2111-4. External links[edit]
Wikimedia Commons has media related to Java. Java travel guide from Wikivoyage [hide] v t e Provinces of Indonesia
Sumatra Aceh BangkaBelitung Islands Bengkulu Jambi Lampung North Sumatra Riau Riau Islands South Sumatra West Sumatra
Java Banten Central Java East Java Jakarta West Java Yogyakarta
Kalimantan Central Kalimantan East Kalimantan North Kalimantan South Kalimantan West Kalimantan
Lesser Sunda Bali East Nusa Tenggara West Nusa Tenggara
Sulawesi Central Sulawesi Gorontalo North Sulawesi Southeast Sulawesi South Sulawesi West Sulawesi
Maluku Maluku North Maluku
Western New Guinea Papua West Papua
Categories: Java Greater Sunda Islands Java (software platform) From Wikipedia, the free encyclopedia Not to be confused with JavaScript. Java (software platform)
Original author(s) James Gosling, Sun Microsystems Developer(s) Oracle Corporation Stable release Java 7 7 Update 72 (1.7.0_72)(October 14, 2014; 6 days ago)[] [1][2][3]
Type Software platform License Freeware, mostly open- source, [6] with a fewproprietary [7] components [8]
Website www.java.com Java is a set of several computer software and specifications developed by Sun Microsystems, later acquired by Oracle Corporation, that provides a system for developing application software and deploying it in a cross-platform computing environment. Java is used in a wide variety of computing platforms from embedded devices and mobile phones on the low end, to enterprise servers andsupercomputers on the high end. While less common, Java applets are sometimes used to provide improved and secure functions while browsing the World Wide Web on desktop computers. Writing in the Java programming language is the primary way to produce code that will be deployed as Java byte code; byte codecompilers are also available for other languages, including Ada, JavaScript, Python, and Ruby. Several languages have been designed to run natively on the Java Virtual Machine (JVM), including Scala, Clojure and Groovy. Java syntax borrows heavily from Cand C++, but object-oriented features are modeled after Smalltalk and Objective-C. [9] Java eliminates certain low-level constructs such as pointers and has a very simple memory model where every object is allocated on the heap and all variables of object types are references. Memory management is handled through integrated automatic garbage collection performed by the JVM. On November 13, 2006, owner Sun Microsystems made the bulk of its implementation of Java available under the GNU General Public License (GPL). [10][11]
Contents [hide] 1 Platform o 1.1 Java Virtual Machine o 1.2 Class libraries o 1.3 Languages o 1.4 Similar platforms o 1.5 Java Development Kit 2 History o 2.1 Java meets the Web o 2.2 Version history 3 Usage o 3.1 Desktop use o 3.2 Mobile devices o 3.3 Web server and enterprise use 4 Mascot 5 Licensing o 5.1 Free software 6 Criticism o 6.1 Generics o 6.2 Unsigned integer types o 6.3 Floating point arithmetic o 6.4 Performance o 6.5 Security o 6.6 Adware o 6.7 Redundancy 7 See also 8 References 9 External links Platform[edit] The Java platform is the name for a bundle of related programs that allow for developing and running programs written in the Java programming language. The platform is not specific to any one processor or operating system, but rather an execution engine (called a virtual machine) and a compiler with a set of libraries that are implemented for various hardware and operating systems so that Java programs can run identically on all of them. Java Card: A technology that allows small Java-based applications (applets) to be run securely on smart cards and similar small-memory devices. Java ME (Micro Edition): Specifies several different sets of libraries (known as profiles) for devices with limited storage, display, and power capacities. Often used to develop applications for mobile devices, PDAs, TV set-top boxes, and printers. Java SE (Standard Edition): For general-purpose use on desktop PCs, servers and similar devices. Java EE (Enterprise Edition): Java SE plus various APIs useful for multi-tier client server enterprise applications. The Java platform consists of several programs, each of which provides a portion of its overall capabilities. For example, the Java compiler, which converts Java source code into Java bytecode (an intermediate language for the JVM), is provided as part of the Java Development Kit (JDK). The Java Runtime Environment (JRE), complementing the JVM with a just-in-time (JIT) compiler, converts intermediate bytecode into native machine code on the fly. An extensive set of libraries are also part of the Java platform. The essential components in the platform are the Java language compiler, the libraries, and the runtime environment in which Java intermediate bytecode "executes" according to the rules laid out in the virtual machine specification. Java Virtual Machine[edit] Main article: Java Virtual Machine The heart of the Java platform is the concept of a "virtual machine" that executes Java bytecode programs. This bytecode is the same no matter what hardware or operating system the program is running under. There is a JIT (Just In Time) compiler within the Java Virtual Machine, or JVM. The JIT compiler translates the Java bytecode into native processor instructions at run-time and caches the native code in memory during execution. The use of bytecode as an intermediate language permits Java programs to run on any platform that has a virtual machine available. The use of a JIT compiler means that Java applications, after a short delay during loading and once they have "warmed up" by being all or mostly JIT-compiled, tend to run about as fast as native programs. [citation needed] Since JRE version 1.2, Sun's JVM implementation has included a just-in-time compiler instead of an interpreter. Although Java programs are cross-platform or platform independent, the code of the Java Virtual Machines (JVM) that execute these programs is not. Every supported operating platform has its own JVM. Class libraries[edit] Main article: Java Class Library In most modern operating systems (OSs), a large body of reusable code is provided to simplify the programmer's job. This code is typically provided as a set of dynamically loadable libraries that applications can call at runtime. Because the Java platform is not dependent on any specific operating system, applications cannot rely on any of the pre-existing OS libraries. Instead, the Java platform provides a comprehensive set of its own standard class libraries containing much of the same reusable functions commonly found in modern operating systems. Most of the system library is also written in Java. For instance, Swing library paints the user interface and handles the events itself, eliminating many subtle differences between how different platforms handle even similar components. The Java class libraries serve three purposes within the Java platform. First, like other standard code libraries, the Java libraries provide the programmer a well-known set of functions to perform common tasks, such as maintaining lists of items or performing complex string parsing. Second, the class libraries provide an abstract interface to tasks that would normally depend heavily on the hardware and operating system. Tasks such as network access and file access are often heavily intertwined with the distinctive implementations of each platform. The java.net and java.io libraries implement an abstraction layer in native OS code, then provide a standard interface for the Java applications to perform those tasks. Finally, when some underlying platform does not support all of the features a Java application expects, the class libraries work to gracefully handle the absent components, either by emulation to provide a substitute, or at least by providing a consistent way to check for the presence of a specific feature. Languages[edit] See also: List of JVM languages and JVM programming languages The word "Java", alone, usually refers to the Java programming language that was designed for use with the Java platform. Programming languages are typically outside of the scope of the phrase "platform", although the Java programming language was listed as a core part of the Java platform before Java 7. The language and runtime were therefore commonly considered a single unit. However, an effort was made with the Java 7 specification to more clearly treat the Java language and the Java virtual machine as separate entities, so that they are no longer considered a single unit. [12]
Third parties have produced many compilers or interpreters that target the JVM. Some of these are for existing languages, while others are for extensions to the Java language. These include: BeanShell - A lightweight scripting language for Java. [13]
Clojure - A dialect of the Lisp programming language. Groovy, a dynamic language with features similar to those of Python, Ruby, Perl, and Smalltalk. JRuby - A Ruby interpreter. Jython - A Python interpreter. Kotlin - An industrial programming language for JVM with full Java interoperability. Rhino - A JavaScript interpreter. Scala - A multi-paradigm programming language designed as a "better Java". Gosu - A general-purpose Java Virtual Machine-based programming language released under the Apache License 2.0. Similar platforms[edit] See also: Comparison of the Java and .NET platforms and Comparison of C# and Java The success of Java and its write once, run anywhere concept has led to other similar efforts, notably the .NET Framework, appearing since 2002, which incorporates many of the successful aspects of Java. .NET in its complete form (Microsoft's implementation) is currently only fully available on Windows platforms, whereas Java is fully available on many platforms. .NET was built from the ground-up to support multiple programming languages, while the Java platform was initially built to support only the Java language, although many other languages have been made for JVM since. .NET includes a Java-like language called Visual J# (formerly named J++) that is incompatible with the Java specification, and the associated class library mostly dates to the old JDK 1.1 version of the language. For these reasons, it is more a transitional language to switch from Java to the .NET platform, than a first class .NET language. Visual J# was discontinued with the release of Microsoft Visual Studio 2008. The existing version shipping with Visual Studio 2005 will be supported until 2015 as per the product life-cycle strategy. Java Development Kit[edit] Main article: Java Development Kit The Java Development Kit (JDK) is a Sun product aimed at Java developers. Since the introduction of Java, it has been by far the most widely used Java software development kit (SDK). [citation needed] It contains a Java compiler, a full copy of the Java Runtime Environment (JRE), and many other important development tools. History[edit] The Java platform and language began as an internal project at Sun Microsystems in December 1990, providing an alternative to the C++/C programming languages. EngineerPatrick Naughton had become increasingly frustrated with the state of Sun's C++ and C application programming interfaces (APIs) and tools. While considering moving to NeXT, Naughton was offered [by whom?] a chance to work on new technology, and thus the Stealth Project started. The Stealth Project was soon renamed to the Green Project, with James Gosling and Mike Sheridan joining Naughton. Together with other engineers, they began work in a small office on Sand Hill Road in Menlo Park, California. They aimed to develop new technology for programming next- generation smart appliances, which Sun expected to offer major new opportunities. [14]
The team originally considered using C++, but rejected it for several reasons. Because they were developing an embedded system with limited resources, they decided that C++ needed too much memory and that its complexity led to developer errors. The language's lack of garbage collection meant that programmers had to manually manage system memory, a challenging and error-prone task. The team also worried about the C++ language's lack of portable facilities for security, distributed programming, and threading. Finally, they wanted a platform that would port easily to all types of devices. Bill Joy had envisioned a new language combining Mesa and C. In a paper called Further, he proposed to Sun that its engineers should produce an object-oriented environment based on C++. Initially, Gosling attempted to modify and extend C++ (a proposed development that he referred to as "C++ ++ --") but soon abandoned that in favor of creating a new language, which he called Oak, after the tree that stood just outside his office. By the summer of 1992, the team could demonstrate portions of the new platform, including the Green OS, the Oak language, the libraries, and the hardware. Their first demonstration, on September 3, 1992, focused on building a personal digital assistant (PDA) device named Star7 [2] that had a graphical interface and a smart agent called "Duke" to assist the user. In November of that year, the Green Project was spun off to become firstperson, a wholly owned subsidiary of Sun Microsystems, and the team relocated to Palo Alto, California. [15] The firstperson team had an interest in building highly interactive devices, and when Time Warner issued a request for proposal (RFP) for aset-top box, firstperson changed their target and responded with a proposal for a set-top box platform. However, the cable industry felt that their platform gave too much control to the user; firstperson lost their bid to SGI. An additional deal with The 3DO Company for a set-top box also failed to materialize. Unable to generate interest within the television industry, the company was rolled back into Sun. Java meets the Web[edit] In June and July 1994 - after three days of brainstorming with John Gage, the Director of Science for Sun, Gosling, Joy, Naughton, Wayne Rosing, and Eric Schmidt - the team re-targeted the platform for the World Wide Web. They felt that with the advent of graphical web browsers like Mosaic the Internet could evolve into the same highly interactive medium that they had envisioned for cable TV. As a prototype, Naughton wrote a small browser, WebRunner (named after the movie Blade Runner), renamed HotJava [14] in 1995. In 1994 Sun renamed the Oak language as Java after a trademark search revealed that Oak Technology used the name Oak. [16] Although Java 1.0a became available for download in 1994, the first public release of Java, Java 1.0a2 with the HotJava browser, came on May 23, 1995, announced by Gage at the SunWorld conference. Accompanying Gage's announcement, Marc Andreessen, Executive Vice President of Netscape Communications Corporation, unexpectedly announced that Netscape browsers would include Java support. On January 9, 1996, Sun Microsystems formed the JavaSoft group to develop the technology. [17]
Version history[edit] Main article: Java version history The Java language has undergone several changes since the release of JDK (Java Development Kit) 1.0 on (January 23, 1996), as well as numerous additions of classes and packages to the standard library. Since J2SE 1.4 the Java Community Process (JCP) has governed the evolution of the Java Language. The JCP uses Java Specification Requests (JSRs) to propose and specify additions and changes to the Java platform. The Java Language Specification (JLS) specifies the language; changes to the JLS are managed under JSR 901. [18]
Sun released JDK 1.1 on February 19, 1997. Major additions included an extensive retooling of the AWT event model, inner classes added to the language, JavaBeans andJDBC. J2SE 1.2 (December 8, 1998) Codename Playground. This and subsequent releases through J2SE 5.0 were rebranded Java 2 and the version name "J2SE" (Java 2 Platform, Standard Edition) replaced JDK to distinguish the base platform from J2EE (Java 2 Platform, Enterprise Edition) and J2ME (Java 2 Platform, Micro Edition). Major additions included reflection, a collections framework, Java IDL (an interface description language implementation for CORBA interoperability), and the integration of the Swing graphical API into the core classes. A Java Plug-in was released, and Sun's JVM was equipped with a JIT compiler for the first time. J2SE 1.3 (May 8, 2000) Codename Kestrel. Notable changes included the bundling of the HotSpot JVM (the HotSpot JVM was first released in April, 1999 for the J2SE 1.2 JVM), JavaSound, Java Naming and Directory Interface (JNDI) and Java Platform Debugger Architecture (JPDA). J2SE 1.4 (February 6, 2002) Codename Merlin. This became the first release of the Java platform developed under the Java Community Process as JSR 59. [19] Major changes included regular expressions modeled after Perl, exception chaining, an integrated XML parser and XSLT processor (JAXP), and Java Web Start. J2SE 5.0 (September 30, 2004) Codename Tiger. Originally numbered 1.5, which is still used as the internal version number. [20] Developed under JSR 176, Tiger added several significant new language features including the for-each loop, generics, autoboxing and var-args. [21]
Java SE 6 (December 11, 2006) Codename Mustang. Bundled with a database manager and facilitates the use of scripting languages with the JVM (such as JavaScript usingMozilla's Rhino engine). As of this version, Sun replaced the name "J2SE" with Java SE and dropped the ".0" from the version number. [22] Other major changes include support for pluggable annotations (JSR 269), many GUI improvements, including native UI enhancements to support the look and feel of Windows Vista, and improvements to the Java Platform Debugger Architecture (JPDA) & JVM Tool Interface for better monitoring and troubleshooting. Java SE 7 (July 28, 2011) Codename Dolphin. This version developed under JSR 336. It added many small language changes including strings in switch, try-with-resources and type inference for generic instance creation. The JVM was extended with support for dynamic languages, while the class library was extended among others with a join/fork framework, [23] an improved new file I/O library and support for new network protocols such as SCTP. Java 7 Update 67 was released in July 2014, with expiration date October 14, 2014. [24]
The current version, Java SE 8 (March 18, 2014), no longer officially supports the Windows XP platform;. [25][26] An unofficial manual installation method has been described for Windows XP SP3. It refers to JDK8, the developing platform for Java that also includes a fully functioning Java Runtime Environment. [27]
In addition to language changes, significant changes have been made to the Java class library over the years, which has grown from a few hundred classes in JDK 1.0 to over three thousand in J2SE 5.0. Entire new APIs, such as Swing and Java 2D, have evolved, and many of the original JDK 1.0 classes and methods have been deprecated. Usage[edit] Desktop use[edit] According to Oracle, the Java Runtime Environment is found on over 850 million PCs. [28] Microsoft has not bundled a Java Runtime Environment (JRE) with its operating systemssince Sun Microsystems sued Microsoft for adding Windows-specific classes to the bundled Java runtime environment, and for making the new classes available through Visual J++. [citation needed] Apple no longer includes a Java runtime with OS X as of version 10.7, but the system prompts the user to download and install it the first time an application requiring the JRE is launched. [citation needed] Many Linux distributions include the partially compatible free software package GNU Classpath [29] and increasingly mostly compatibleIcedTea. Some Java applications are in fairly widespread desktop use, including the NetBeans and Eclipse integrated development environments, and file sharing clients such as LimeWireand Vuze. Java is also used in the MATLAB mathematics programming environment, both for rendering the user interface and as part of the core system. Java provides cross platform user interface for some high end collaborative applications like Lotus Notes. Mobile devices[edit] Java ME has become popular in mobile devices, where it competes with Symbian, BREW, and the .NET Compact Framework. The diversity of mobile phone manufacturers has led to a need for new unified standards so programs can run on phones from different suppliers - MIDP. The first standard was MIDP 1, which assumed a small screen size, no access to audio, and a 32kB program limit. The more recent MIDP 2 allows access to audio, and up to 64kB for the program size. With handset designs improving more rapidly than the standards, some manufacturers relax some limitations in the standards, for example, maximum program size. Google's Android operating system uses the Java language, but not its class libraries, therefore the Android platform cannot be called Java. Android executes the code on theDalvik VM instead of the Java VM. Web server and enterprise use[edit] The Java platform has become a mainstay of enterprise IT development since the introduction of the Enterprise Edition in 1998, in two different ways: 1. Through the coupling of Java to the web server, the Java platform has become a leading platform for integrating the Web with enterprise backend systems. This has allowed companies to move part or all of their business to the Internet environment by way of highly interactive online environments (such as highly dynamic websites) that allow the customer direct access to the business processes (e.g. online banking websites, airline booking systems and so on). This trend has continued from its initial Web-based start: The Java platform has matured into an Enterprise Integration role in which legacy systems are unlocked to the outside world through bridges built on the Java platform. This trend has been supported for Java platform support for EAI standards like messaging and Web services and has fueled the inclusion of the Java platform as a development basis in such standards as SCA, XAM and others. Java has become the standard development platform for many companies' IT departments, which do most or all of their corporate development in Java. This type of development is usually related to company-specific tooling (e.g. a booking tool for an airline) and the choice for the Java platform is often driven by a desire to leverage the existing Java infrastructure to build highly intelligent and interconnected tools. 2. The Java platform has become the main development platform for many software tools and platforms that are produced by third-party software groups (commercial, open source and hybrid) and are used as configurable (rather than programmable) tools by companies. Examples in this category include Web servers, application servers, databases, enterprise service buses, business process management (BPM) tools and content management systems. Enterprise use of Java has also long been the main driver of open source interest in the platform. This interest has inspired open source communities to produce a large amount of software, including simple function libraries, development frameworks (e.g. the Spring Framework, Apache Wicket, Dojo Toolkit, Hibernate), and open source implementations of standards and tools (e.g. Apache Tomcat, the GlassFish application server, the Mule and Apache ServiceMix Enterprise service buses). Mascot[edit]
Plain ol' Duke Duke is Java's mascot. [30]
When Sun announced that Java SE and Java ME would be released under a free software license (the GNU General Public License), they released the Duke graphics under the free BSD license at the same time. [31] A new Duke personality is created every year. [32] For example, in July 2011 "Future Tech Duke" included a bigger nose, a jetpack, and blue wings. [33]
Licensing[edit] The source code for Sun's implementations of Java (that is the de facto reference implementation) has been available for some time, but until recently the license terms severely restricted what could be done with it without signing (and generally paying for) a contract with Sun. As such these terms did not satisfy the requirements of either the Open Source Initiative or the Free Software Foundation to be considered open source or free software, Sun Java was therefore a proprietary platform. [34]
While several third-party projects (e.g. GNU Classpath and Apache Harmony) created free software partial Java implementations, the large size of the Sun libraries combined with the use of clean room methods meant that their implementations of the Java libraries (the compiler and VM are comparatively small and well defined) were incomplete and not fully compatible. These implementations also tended to be far less optimized than Sun's. [citation needed]
Free software[edit] See also: OpenJDK Sun announced in JavaOne 2006 that Java would become free and open source software, [35] and on October 25, 2006, at the Oracle OpenWorld conference, Jonathan I. Schwartz said that the company was set to announce the release of the core Java Platform as free and open source software within 30 to 60 days. [36]
Sun released the Java HotSpot virtual machine and compiler as free software under the GNU General Public License on November 13, 2006, with a promise that the rest of the JDK (that includes the JRE) would be placed under the GPL by March 2007 ("except for a few components that Sun does not have the right to publish in distributable source form under the GPL"). [37] According to Richard Stallman, this would mean an end to the "Java trap". [38] Mark Shuttleworth called the initial press announcement, "A real milestone for the free software community". [39]
Sun released the source code of the Class library under GPL on May 8, 2007, except some limited parts that were licensed by Sun from 3rd parties who did not want their code to be released under a free software and open-source license. [40] Some of the encumbered parts turned out to be fairly key parts of the platform such as font rendering and 2D rasterising, but these were released as open-source later by Sun (see OpenJDK Class library). Sun's goal was to replace the parts that remain proprietary and closed-source with alternative implementations and make the class library completely free and open source. In the meantime, a third party project called IcedTea created a completely free and highly usable JDK by replacing encumbered code with either stubs or code from GNU Classpath. Although OpenJDK has since become buildable without the encumbered parts (from OpenJDK 6 b10 [41] ), IcedTea is still used by the majority of distributions, such as Fedora,RHEL, Debian, Ubuntu, Gentoo, Arch Linux and Slackware, as it provides security releases and an easier means for patch inclusion. OpenJDK also still doesn't include a browser plugin & Web Start implementation, so IcedTea's companion project, IcedTea-Web, is needed to fill this gap. In June 2008, it was announced that IcedTea6 (as the packaged version of OpenJDK on Fedora 9) has passed the Technology Compatibility Kit tests and can claim to be a fully compatible Java 6 implementation. [42]
Because OpenJDK is under the GPL, it is possible to redistribute a custom version of the JRE directly with software applications [3][4], rather than requiring the enduser (or their sysadmin) to download and install the correct version of the proprietary Oracle JRE onto each of their systems themselves. Criticism[edit] Main article: Criticism of Java In most cases Java support is unnecessary in Web browsers, and security experts recommend that it not be run in a browser unless absolutely necessary. [43] It was suggested that, if Java is required by a few Web sites, users should have a separate browser installation specifically for those sites. Generics[edit] Further information: Generics in Java When generics were added to Java 5.0, there was already a large framework of classes (many of which were already deprecated), so generics were chosen to be implemented using erasure to allow for migration compatibility and re-use of these existing classes. This limited the features that could be provided by this addition as compared to some other languages. [44][45]
Unsigned integer types[edit] Java lacks native unsigned integer types. Unsigned data are often generated from programs written in C and the lack of these types prevents direct data interchange between C and Java. Unsigned large numbers are also used in many numeric processing fields, including cryptography, which can make Java less convenient to use for these tasks. [46] Although it is possible to partially circumvent this problem with conversion code and using larger data types, it makes using Java cumbersome for handling the unsigned data. While a 32-bit signed integer may be used to hold a 16-bit unsigned value with relative ease, a 32- bit unsigned value would require a 64-bit signed integer. Additionally, a 64-bit unsigned value cannot be stored using any integer type in Java because no type larger than 64 bits exists in the Java language. If abstracted using functions, function calls become necessary for many operations which are native to some other languages. Alternatively, it is possible to use Java's signed integers to emulate unsigned integers of the same size, but this requires detailed knowledge of complex bitwise operations. [47]
Floating point arithmetic[edit] While Java's floating point arithmetic is largely based on IEEE 754 (Standard for Binary Floating-Point Arithmetic), certain features are not supported even when using thestrictfp modifier, such as Exception Flags and Directed Roundings capabilities mandated by IEEE Standard 754. Additionally, the extended precision floating-point types permitted in 754 and present in many processors are not permitted in Java. [48][49]
Performance[edit] Further information: Java performance In the early days of Java (before the HotSpot VM was implemented in Java 1.3 in 2000) there were some criticisms of performance. However, benchmarks typically report Java as being about two times slower than C (a language which compiles to native code). [50][51][52]
Java's performance has improved substantially since the early versions. [53] Performance of JIT compilers relative to native compilers has in some optimized tests been shown to be quite similar. [53][54][55]
Java bytecode can either be interpreted at run time by a virtual machine, or it can be compiled at load time or runtime into native code which runs directly on the computer's hardware. Interpretation is slower than native execution, and compilation at load time or runtime has an initial performance penalty for the compilation. Modern performance JVM implementations all use the compilation approach, so after the initial startup time the performance is equivalent to native code. Security[edit] Further information: Java security The Java platform provides a security architecture [56] which is designed to allow the user to run untrusted bytecode in a "sandboxed" manner to protect against malicious or poorly written software. This "sandboxing" feature is intended to protect the user by restricting access to certain platform features and APIs which could be exploited by malware, such as accessing the local filesystem, running arbitrary commands, or accessing communication networks. In recent years, researchers have discovered numerous security flaws in some widely used Java implementations, including Oracle's, which allow untrusted code to bypass the sandboxing mechanism, exposing users to malicious attacks. These flaws affect only Java applications which execute arbitrary untrusted bytecode, such as web browser plug-ins that run Java applets downloaded from public websites. Applications where the user trusts, and has full control over, all code that is being executed are unaffected. On August 31, 2012, Java 6 and 7 on Microsoft Windows, Mac OS X, and Linux were found to have a serious security flaw that allowed a remote exploit to take place by simply loading a malicious web page. [57] Java 5 was later found to be flawed as well. [58]
On January 10, 2013, three computer specialists spoke out against Java, telling Reuters that it was not secure and that people should disable Java. Jaime Blasco, Labs Manager with AlienVault Labs, stated that "Java is a mess. Its not secure. You have to disable it." [59] This vulnerability affects Java 7 and it is unclear if it affects Java 6, so it is suggested that consumers disable it. [60][61] Security alerts from Oracle announce schedules of critical security-related patches to Java. [62]
On January 14, 2013, security experts said that the update still failed to protect PCs from attack. [63] This exploit hole prompted a response from the United States Department of Homeland Security encouraging users to disable or uninstall Java. [64] Apple blacklisted Java in limited order for all computers running its Mac OS X operating system through a virus protection program. [65]
Adware[edit] The Java browser runtime environment has a history of bundling sponsored software, including the "Ask.com toolbar" and "McAfee Security Scan Plus" in its updater. [66]
Redundancy[edit] Several authors inline with recent Java security and vulnerability issues have called for users to ditch Java. "Once promising, it has outlived its usefulness in the browser, and has become a nightmare that delights cyber-criminals at the expense of computer users." [67] "I think everyone should uninstall Java from all their PCs and Macs, and then think carefully about whether they need to add it back. If you are a typical home user, you can probably do without it. If you are a business user, you may not have a choice." [68]
See also[edit]
Java portal Java version history Common Intermediate Language Comparison of the Java and .NET platforms Criticism of Java List of Java APIs Java Logging Frameworks Java performance JavaFX Jazelle References[edit] 1. ^ Jump up to: a
b "Java SE Downloads - Latest Release". Oracle. Retrieved 2014-04-03. 2. ^ Jump up to: a
b "Java Platform Standard Edition 8 Names and Versions". Oracle. Retrieved 2014-04-17. 3. ^ Jump up to: a
b Wieldt, Tori (2014-03-18). "Java SE 8 is Now Available". The Java Source Weblog - Insider News from the Java Team at Oracle!. Oracle. Retrieved 2014-04-03. 4. Jump up^ "Java Platform, Early Access Releases". 5. Jump up^ Cite error: The named reference system-configurations was invoked but never defined (see the help page). 6. Jump up^ GNU GPLv2 with Classpath exception 7. Jump up^ BCL For Java SE 8. Jump up^ OpenJDK FAQ 9. Jump up^ Naughton, Patrick. "Java Was Strongly Influenced by Objective-C". Virtual School. 10. Jump up^ "Sun Opens Java". Sun Microsystems. 13 November 2006. Archived from the originalon 2008-05-13. 11. Jump up^ Kelly O'Hair (December 2010). "OpenJDK7 and OpenJDK6 Binary Plugs Logic Removed". Oracle Corporation. Retrieved 2011-11-25. 12. Jump up^ "JVM 7 Specification". 13. Jump up^ www.beanshell.org 14. ^ Jump up to: a
b Jon Byous (April 2003). "Java Technology: The Early Years". Sun Microsystems. Archived from the original on May 30, 2008. Retrieved 2009-08-02. 15. Jump up^ Kathy Walrath (2001-12-21). "Foreword". Sun Microsystems. Retrieved 2009- 08-02. 16. Jump up^ Kieron Murphy (1996-04-10). "So why did they decide to call it Java?". javaworld.com. Retrieved 2009-08-03. "The lawyers had told us that we couldn't use the name 'OAK' because [it was already trademarked by] Oak Technologies," said Frank Yellin, a senior engineer at Sun. "So a brainstorming session was held to come up with ideas for a new name" 17. Jump up^ "Sun Microsystems Announces Formation of Javasoft". Sun Microsystems. January 1996. 18. Jump up^ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 63 19. Jump up^ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 59 20. Jump up^ Version 1.5.0 or 5.0? 21. Jump up^ The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 176 22. Jump up^ "Java Naming". Java.com. Oracle. Retrieved 25 August 2011. 23. Jump up^ Lea, Doug (13 September 2004). "JSRs: Java Specification Requests: JSR 166: Concurrency Utilities". Java Community Process. Oracle Corp. 24. Jump up^ Oracle Java SE 7 Update 67 Release Notes 25. Jump up^ http://jdk8.java.net/download.html 26. Jump up^ https://jdk8.java.net/jdk8_supported_platforms.html 27. Jump up^ Installing JDK8 on Windows XP - advapi32.dll error 28. Jump up^ "What is Java technology and why do I need it?". Retrieved 15 December 2011. "Java runs on more than 850 million personal computers worldwide, and on billions of devices worldwide, including mobile and TV devices." 29. Jump up^ "Results of comparison between jdk15 and classpath". kaffe.org. 30. Jump up^ "Duke, the Java Mascot". Oracle. Retrieved 2011-11-12. 31. Jump up^ "duke: Project Home Page". Sun Microsystems. Retrieved 2007-03-18. 32. Jump up^ "Duke, the Java Mascot". 33. Jump up^ "Future Tech Duke (The Java Source)". Tori Wieldt. Retrieved 2011-08-17. 34. Jump up^ Stallman, Richard (May 24, 2006). "The Curious Incident of Sun in the Night- Time".Groklaw. 35. Jump up^ Schwartz, Jonathan. "?". Jonathan Schwartz's Blog. Sun Microsystems. 36. Jump up^ Oracle OpenWorld: UnBreakable Linux / 5015.2 not on the horizon 37. Jump up^ Sun Opens Java 38. Jump up^ Free But Shackled - The Java Trap 39. Jump up^ "Sun 'releases' Java to the World". BBC News. November 13, 2006. Retrieved May 6, 2010. 40. Jump up^ "Open JDK is here!". Sun Microsystems. May 8, 2007. Retrieved 2007-05-09. 41. Jump up^ Wielaard, Mark (2007-05-30). "OpenJDK6 b10 source posted". Retrieved 2008-07-12. 42. Jump up^ Sharples, Rich (2008-06-19). "Java is finally Free and Open". 43. Jump up^ Sophos:"Unless it is absolutely necessary to run Java in web browsers, disable it", DHS-sponsored CERT team says, 15 January 2013 44. Jump up^ "Generics in Java". Object Computing, Inc. Retrieved 2006-12-09. 45. Jump up^ "What's Wrong With Java: Type Erasure". 2006-12-06. Retrieved 2006-12-09. 46. Jump up^ "Java libraries should provide support for unsigned integer arithmetic". Bug Database, Sun Developer Network. Oracle. Retrieved 2011-01-18. 47. Jump up^ Owens, Sean R. (2009-11-05). "Java and unsigned int, unsigned short, unsigned byte, unsigned long, etc. (Or rather, the lack thereof)". darksleep.com. Retrieved 2010-10-09. 48. Jump up^ Kahan, W.; Joseph D. Darcy (1998-03-01). "How Java's Floating-Point Hurts Everyone Everywhere" (PDF). Retrieved 2006-12-09. 49. Jump up^ "Types, Values, and Variables". Sun Microsystems. Retrieved 2006-12-09. 50. Jump up^ Which programming languages are fastest? | Computer Language Benchmarks Game 51. Jump up^ speed C++ GNU g++ speed | Computer Language Benchmarks Game 52. Jump up^ C++ vs Java performance; Its a tie! | Blog of Christian Felde 53. ^ Jump up to: a
b J.P.Lewis and Ulrich Neumann. "Performance of Java versus C++". Graphics and Immersive Technology Lab, University of Southern California. 54. Jump up^ The Java is Faster than C++ and C++ Sucks Unbiased Benchmark 55. Jump up^ FreeTTS - A Performance Case Study, Willie Walker, Paul Lamere, Philip Kwok 56. Jump up^ Java SE Platform Security Architecture. Oracle. Retrieved 2013-04-23. 57. Jump up^ blogs.computerworld.com - Java security flaw: yada yada yada, 2012-08-31 58. Jump up^ threatpost.com - New Zero-Day Vulnerability Found in Java 5, 6 and 7; 1.1 Billion Desktops Affected, 2012-09-26 59. Jump up^ nbcnews.com - Experts urge PC users to disable Java, cite security flaw, 2013- 01-10 60. Jump up^ US Dept. of Homeland Security Calls On Computer Users To Disable Java Forbes, Jan. 11, 2013 61. Jump up^ Nasty New Java Zero Day Found; Exploit Kits Already Have It, 2013-01-10 62. Jump up^ Oracle Critical Patch Updates, Security Alerts 63. Jump up^ independent.ie - Emergency patch for Java fails to fix cybercrime holes, warn experts, 2013-01-14 64. Jump up^ zdnet.com - Homeland Security warns to disable Java amid zero-day flaw, 2013-01-11 65. Jump up^ venturebeat.com - Oracle issues fix for Java exploit after DHS warns of its holes, 2013-01-14 66. Jump up^ [1], 2013-01-22 67. Jump up^ http://readwrite.com/2012/09/05/java-is-no-longer-needed-pull-the-plug-in 68. Jump up^ http://www.theguardian.com/technology/askjack/2013/feb/08/java-remove- ask-jack-technology External links[edit]
Wikiversity has learning materials about Learning Java
Look up Java in Wiktionary, the free dictionary.
Wikibooks has a book on the topic of: Java Programming Listen to this article (info/dl)
MENU 0:00
This audio file was created from a revision of the "Java (software platform)" article dated 2013-08-19, and does not reflect subsequent edits to the article. (Audio help) More spoken articles Official website sun.com - Official developer site infoq.com - Presentation by James Gosling about the origins of Java, from the JVM Languages Summit 2008 Java Tutorials and Examples collection [5] javatester.org - What Version of Java Are You Using?, tells you which version you are using JavaRa, a utility developed by Paul McLain and Fred De Vries at RaProducts to find and remove older versions of Java, now distributed by SingularLabs. [show] v t e Java
[show] v t e Sun Microsystems (acquired by Oracle Corporation, 2010)
[show] v t e Integrated development environments for Java
Categories: Java platform Computing platforms Cross-platform software APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN Naskah Publikasi diajukan oleh Wahyu Mukorobin 07.11.1803 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
APPLICATION DATA COLLECTION NEW STUDENTS SMK N 1 PELEPAT ILIR MUARA BUNGO, J AMBI BY CLASS AND DEPARTMENT APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN Wahyu Mukorobin 07.11.1803 Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Applications used to support the process of inputting data colection of new students at SMK N 1 PELEPAT ILIR MUARA BUNGO JAMBI bunge student application data storange is a database application using microsoft access design (ERD),and designing application.destination from of writing is to simplify inputs and find student data,as well as to facilitate the submission of registration to the committee. The database used is microsoft access and programming used to build java JDK 1.6.0 applications is the development of this application is based on a design that has been made. The resulting data base system as expected in the design stage, both in system design and application design,although there are still shortages in some respect. Keyword:applications,new student data collection,design. 1. PENDAHULUAN SMK N 1 Pelepat Ilir Muara Bungo Jambi adalah salah satu sekolah yang menginginkan adanya kemudahan proses pengolahan pendataan siswa baru berdasarkan kelas dan jurusan. Pelayanan yang selama ini dilakukan yaitu dilakukan secara manual dengan melakukan pencatatan di buku dapat diatasi dengan adanya program aplikasi yang dapat membantu memperlancar proses pengolahan serta dapat meningkatkan kualitas dalam pelayanannya sehingga menghasilkan laporan yang cepat,akurat,efektif dan lebih efisien. Dalam dunia komputer, salah satu media yang dapat digunakan untuk berbagai kebutuhan adalah komputerisasi, sebuah sistem dalam pengolahan data yang digunakan sebagai sumber informasi yang dapat dijadikan bahan pengambil keputusan yang tepat. Oleh karena itu APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN dirancang dan disusun sebagai judul dalam skripsi ini. Perancangan pendataan siswa baru tersebut dirancang agar dapat mengolah data secara efektif dan efisien dalam setiap proses penginputan data siswa, data kelas maupun data jurusan, selain itu untuk mengoptimalkan pemakaian komputer yang sudah ada di SMK N 1 Pelepat Ilir Muara Bungo Jambi. 2. LANDASAN TEORI 2.1 Pengertian Sistem, Informasi dan Sistem Informasi Sistem adalah suatu kumpulan atau himpunan dari unsur atau variabel variabel yang saling teroganisasi, saling berinteraksi dan saling bergantung satu sama lain. Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya, Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan laporan yang diperlukan. Karakteristik sistem yang membedakan sistem satu dengan sistem lainnya antara lain : 1. Batasan (boundary) 2. Lingkungan (environment) 3. Masukan (input) 4. Keluaran (output) 5. Komponen (component) 6. Penghubung (Interface) 7. Penyimpanan (storage) 3. ANALISIS & PERANCANGAN SISTEM 3.1 Analisis kelemahan sistem Untuk mengetahui kelemahan dari sistem lama digunakan analisis PIECES ( Performance, Information, Economy, Control, Eficiency, Service). 3.2 Analisis kebutuhan sistem 3.2.1 Analisis fungsional sistem a. Sistem dapat menampilkan fitur sesuai dengan hak akses. b. Sistem dapat melakukan entry data yang berhubungan dengan pendataan siswa baru. c. Sistem harus dapat menginputkan data siswa baru,kelas dan jurusan . d. Sistem dapat menampilkan dan melakukan pencatatan laporan data siswa baru. 3.2.2 Analisis non-fungsional sistem 1. Kebutuhan perangkat keras. Memori PC V-Gen 2 GB PC 5300 / PC 6400 Intel Pentium 4 2.8 Ghz Toshiba 2.5'' 250 GB Sata Monitor Samsung 18.5'' B1930 Wide Casing VenomRx ASP (NO PSU) w/ Acrylic Side Window + 2 Fan Keyboard Keyboard Logitech K100 (PS2) Mouse Optic Logitech USB / PS2 DVD-RW Lite-On 24x Sata (OEM) 2. Kebutuhan perangkat lunak. Windows XP Profesional Visual Basic 6.0 Microsoft access 3. Kebutuhan pengguna Dalam kebutuhan pembuatan dibutuhkan programmer dan analis. Tugas analis adalah orang yang mempelajari masalah dan kebutuhan untuk menentukan bagaimana orang, data, proses, komunikasi dan teknologi informasi dapat meningkatkan pencapaian bisnis. Tugas programmer adalah mengubah spesifikasi sistem yang diberikan oleh analis sistem ke dalam instruksi yang bisa dijalankan oleh komputer. 3.3 Analisis kelayakan sistem Dalam pengembangan sistem yang abru ada beberapa hal dalam keterkaitannya layak atau tidak sistem perencanaan pengembangan sistem tersebut. Dalam penerapan dan pengembangan sistem yang baru ada beberapa kelayakan yang harus dipertimbangkan sebagai bahan dalam melakukan pengembangan sistem tersebut. Kelayakan teknis Teknologi yang digunakan baik itu perangkat keras maupun perangkat lunak sudah bisa di dapatkan dengan mudah di pasaran. Dari yang sebelum sebelumnya, sudah banyak yang menerapkan sistem informasi perpustakaan di sekolah sekolah tertentu. Dari uraian tersebut maka dilihat dari kelayakan teknologi pengembangan dari penggunaan sistem ini layak untuk dikerjakan. Kelayakan operasional Sumber daya manusia untuk menjalankan sistem belum siap untuk mengoperasikan sistem informasi perpustakaan ini karena sumber daya manusia tersebut belum terbiasa menjalankan / mengoperasikan aplikasi komputer Maka dari itu, perlu di adakan pelatihan dengan sumber daya manusia tersebut.setelah diadakan pelatihan tersebut maka diharapkan sumber daya manusia dapat mengoperasikan aplikasi sebagaimana mestinya. Dari uraian tersebut maka dari segi kelayakan operasional sistem ini dikatakan layak. Kelayakan hukum Sistem perpustakaan yang dibuat tidak boleh melanggar peraturan yang berlaku di Indonesia terutama dala hal perijinan pemakaian aplikasi sistem. Dalam sistem perpustakaan ini perangkat lunak yang digunakan bersifat legal dan tidak menyimpang dari ketentuan yang berlaku. Dari uraian tersebut maka dari segi kelayakan hukum sistem perpustakaan ini dikatakan layak. Kelayakan ekonomi Analisis ekonomi ada dua komponen yaitu komponen biaya dan manfaat. a. Komponen Biaya 1. Biaya yang berhubungan dengan pembuatan sistem informasi terdiri dari: Biaya personil : gaji programmer, gaji analis sistem, Biaya dari pengadaan perangkat lunak dan perangkat keras. Hardware dan software tidak disediakan oleh pembuat sistem. 2. Biaya yang berhubungan dengan penerapan sistem terdiri dari: Biaya variable : biaya pelatihan petugas, biaya konversi sistem Biaya tetap : biaya overhead (biaya pemakaian listrik). b. Komponen Manfaat Manfaat dari sistem informasi dapat diklasifikasikan dalam bentuk keuntungan berwujud (tangible benefits) dan keuntungan tidak berwujud (intangible benefits). Keuntungan berwujud merupakan keuntungan yang berupa penghematan-penghematan atau peningkatan didalam perusahaan yang dapat diukur secara kuantitas dalam bentuk nilai uang. Sedangkan keuntungan tidak berwujud merupakan keuntungan yang sulit atau tidak mungkin diukur dalam bentuk satuan nilai uang. 4. Perancangan sistem 4.1 Perancangan prosesFlowchart Gambar 1 Flowchart DFD level 0 Data siswa Data nilai Data kelas Laporan data siswa d da data program studi Laporan data siswa Laporan data nilai Laporan data program studi Laporan data periode Kepsek Gambar 2 DFD level 0 DFD level 1 Panitia pendaftaran 0 Sistem pendaftaran kepsek Gambar 3 DFD level 1 Keterangan Admin/panitia :Entitas yang diharuskan melakukan login sebelum mengakses informasi Operator :Entitas yang diharuskan melakukan login sebelum mengakses informasi Kepala sekolah : Entitas luar login yang menerima berbagai laporan. Data siswa : Laporan data siswa Data nilai : Laporan data nilai Data Kelas : Laporan data kelas Data Sekolah asal : Laporan data asal sekolah Data Program studi : Laporan data program studi Data Guru : Laporan data guru di sekolah 4.2 Perancangan interface Perancangan formpendaftaran siswa baru Gambar 4 rancangan form pendaftaran siswa baru 5. Implementasi dan Pembahasan 5.1 Pemrograman Pembuatan database Database berfungsi sebagai tempat penyimpanan data. Di dalam database terdapat table, view, stored procedure dan trigger. Pembuatan form / interface Form adalah tempat membuat tampilan (user interface) untuk program aplikasi. Pembuatan tabel Tabel adalah bagian pembentuk database yang berupa kumpulan record sejenis yang mempunyai panjang elemen sama, atribut sama, tapi berbeda data valuenya. 5.2 Tes program Syntax error Run time error Logical error 5.3 Instalasi sistem Instalasi aplikasi merupakan langkah awal untuk melakukan pengujian sistem. Namun sebelum proses instalasi dilakukan, ada beberapa hal yang perlu dipersiapkan guna proses instalasi baik segi hardware maupun software (system requirement). 5.4 Tes sistem White box testing White box testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris baris program, variabel dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang. Black box testing Black box testing terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang diinginkan. 5.5 Pelatihan Personil merupakan faktor yang perlu dipertimbangkan dalam sistem informasi. Personil akan dilatih terlebih dahulu dimaksudkan agar dalam pelaksanaan operasi dapat berjalan lancar. Pada pelatihan difokuskan dalam pengoperasian sistem, yaitu : mempersiapkan input, memproses data, menampilkan laporan. Personil yang dilatih sebagai calon pengoprasian sistem baru adalah petugas pendaftaran siswa baru. 5.6 Konversi system Proses konversi sistem merupakan proses untuk meletakan sistem baru supaya siap mulai untuk dapat digunakan adapun metode konversi sistem yang di pakai adalah konversi parallel ( parallel convertion ). Konversi parallel dilakukan dengan mengoperasikan sistem yang baru bersama-sama dengan sistem yang lama selama suatu periode waktu tertentu. Tujuan sistem ini di operasikan bersama-sama untuk meyakinkan apakah benar sistem yang baru lebih baik dari pada sistem yang lama. 5.7 Pemeliharaan Pemeliharaan sistem pada aplikasi pendaftaran siswa baru ini tergolong mudah, karena sistem ini memang dirancang untuk digunakan oleh umum. Artinya semua kalangan yang walaupun tanpa memiliki basic pemrograman program, administrasi komputer, maupun ilmu komputer yang lebih, masih dapat menggunakan program ini. Maintenance Syistem hanya difokuskan pada pemback-upan file dan data dari database serta pengolahan data secara berkala. Dengan cara demikian kita akan mendapatkan beberapa file back-up sekaligus, serta dengan data yang sama pada kedua file atau beberapa file yang telah terbentuk. 5.8 Manual program Manual program merupakan suatu petunjuk bagi pemakai dalam penggunaan sistem yang diusulkan penulis. 1. Form login Form login adalah form yang diproses pertama kali untuk menuju form menu utama dalam sistem pendataan siswa baru ini, form login berfungsi untuk membatasi siapa saja yang dapat mengakses data data yang ada pada aplikasi. Gambar 5 Form Login 2. Form pendataan siswa baru Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data calon siswa baru yang mendaftar. Gambar 6 Form pendaftaran siswa baru 3. Form pendaftaran siswa pindahan Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data calon siswa pindahan yang mendaftar. Gambar 7 Form pendaftaran siswa pindahan 4. Form Data jurusan Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data jurusan calon siswa yang mendaftar. Gambar 8 Form Data jurusan 5. Form Data kelas Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data program studi yang ada di sekolah. Gambar 9 Form Data kelas 6. Form Data orang tua Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data Orang tua Wali yang ada di sekolah. Gambar 10 Form Data orang tua 7. Form Data Pengguna Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data Pengguna yang ada di sekolah. . Gambar 11 Form Data Pengguna 6. Penutup 6.1 Kesimpulan Untuk membuat aplikasi pendaftaran sistem penerimaan siswa baru,dilalui dengan beberapa tahapan, identifikasi, analisis, perancangan, implementasi, uji coba dan pemeliharaan sistem. Dari uraian dan penjelasan pada bab sebelumnya,serta analisis yang telah dilakukan dengan melakukan studi kelayakan terlebih dahulu,dapat disimpulkan bahwa : Aplikasi pendataan siswa baru mempermudah kinerja panitia pelaksana untuk melakukan pendataan biodata siswa baru . Biaya yang dibutuhkan dalam pengeditan tidak memerlukan biaya yang banyak karena tidak memerlukan kertas yang banyak sehingga penghematan biaya. 6.2 Saran Dalam sistem pendataan siswa baru ini penulis memberikan saran, antara lain Hal penting yang perlu diperhatikan dengan adanya sistem baru adalah melakukan perawatan terhadap perangkat lunak dan perangkat keras dengan baik sehingga sistem bisa berjalan dengan baik. Seiring berkembangnya organisasi dan teknologi maka akan terjadi pula peningkatan kebutuhan sehingga menyebabkan sistem yang sudah berjalan pada saatnya nanti tidak mampu memenuhi kebutuhan pihak yang terkait. Maka dari itu pada saatnya nanti sistem juga perlu dilakukan evaluasi dan pengembangan lebih lanjut. Sistem yang baru masih kurang sempurna sehinga dibutuhkan pengembangan sistem untuk memenuhi kebutuhan aplikasi pendataan siswa baru yang lebih baik lagi. DAFTAR PUSTAKA Fatta, Hanif Al. 2007. Analisis & Perancangan Sistem Informasi. Yogyakarta : Andi Yogyakarta. Jogiyanto, H M. 1989. Analisis & Desain. Yogyakarta : Andi Yogyakarta. Kusrini. 2006. Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta : Andi Yogyakarta. Tim. 2009. Pedoman Penyusunan Proposal dan Laporan Skripsi. Edisi 2009. S1 Sistem Informatika & Teknik Informatika STMIK Amikom Yogyakarta.
APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN Naskah Publikasi diajukan oleh Wahyu Mukorobin 07.11.1803 kepada SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA 2012
APPLICATION DATA COLLECTION NEW STUDENTS SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BY CLASS AND DEPARTMENT APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN Wahyu Mukorobin 07.11.1803 Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA ABSTRACT Applications used to support the process of inputting data colection of new students at SMK N 1 PELEPAT ILIR MUARA BUNGO JAMBI bunge student application data storange is a database application using microsoft access design (ERD),and designing application.destination from of writing is to simplify inputs and find student data,as well as to facilitate the submission of registration to the committee. The database used is microsoft access and programming used to build java JDK 1.6.0 applications is the development of this application is based on a design that has been made. The resulting data base system as expected in the design stage, both in system design and application design,although there are still shortages in some respect. Keyword:applications,new student data collection,design. 1. PENDAHULUAN SMK N 1 Pelepat Ilir Muara Bungo Jambi adalah salah satu sekolah yang menginginkan adanya kemudahan proses pengolahan pendataan siswa baru berdasarkan kelas dan jurusan. Pelayanan yang selama ini dilakukan yaitu dilakukan secara manual dengan melakukan pencatatan di buku dapat diatasi dengan adanya program aplikasi yang dapat membantu memperlancar proses pengolahan serta dapat meningkatkan kualitas dalam pelayanannya sehingga menghasilkan laporan yang cepat,akurat,efektif dan lebih efisien. Dalam dunia komputer, salah satu media yang dapat digunakan untuk berbagai kebutuhan adalah komputerisasi, sebuah sistem dalam pengolahan data yang digunakan sebagai sumber informasi yang dapat dijadikan bahan pengambil keputusan yang tepat. Oleh karena itu APLIKASI PENDATAAN SISWA BARU SMK N 1 PELEPAT ILIR MUARA BUNGO, JAMBI BERDASARKAN KELAS DAN JURUSAN dirancang dan disusun sebagai judul dalam skripsi ini. Perancangan pendataan siswa baru tersebut dirancang agar dapat mengolah data secara efektif dan efisien dalam setiap proses penginputan data siswa, data kelas maupun data jurusan, selain itu untuk mengoptimalkan pemakaian komputer yang sudah ada di SMK N 1 Pelepat Ilir Muara Bungo Jambi. 2. LANDASAN TEORI 2.1 Pengertian Sistem, Informasi dan Sistem Informasi Sistem adalah suatu kumpulan atau himpunan dari unsur atau variabel variabel yang saling teroganisasi, saling berinteraksi dan saling bergantung satu sama lain. Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya, Sistem informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan laporan yang diperlukan. Karakteristik sistem yang membedakan sistem satu dengan sistem lainnya antara lain : 1. Batasan (boundary) 2. Lingkungan (environment) 3. Masukan (input) 4. Keluaran (output) 5. Komponen (component) 6. Penghubung (Interface) 7. Penyimpanan (storage) 3. ANALISIS & PERANCANGAN SISTEM 3.1 Analisis kelemahan sistem Untuk mengetahui kelemahan dari sistem lama digunakan analisis PIECES ( Performance, Information, Economy, Control, Eficiency, Service). 3.2 Analisis kebutuhan sistem 3.2.1 Analisis fungsional sistem a. Sistem dapat menampilkan fitur sesuai dengan hak akses. b. Sistem dapat melakukan entry data yang berhubungan dengan pendataan siswa baru. c. Sistem harus dapat menginputkan data siswa baru,kelas dan jurusan . d. Sistem dapat menampilkan dan melakukan pencatatan laporan data siswa baru. 3.2.2 Analisis non-fungsional sistem 1. Kebutuhan perangkat keras. Memori PC V-Gen 2 GB PC 5300 / PC 6400 Intel Pentium 4 2.8 Ghz Toshiba 2.5'' 250 GB Sata Monitor Samsung 18.5'' B1930 Wide Casing VenomRx ASP (NO PSU) w/ Acrylic Side Window + 2 Fan Keyboard Keyboard Logitech K100 (PS2) Mouse Optic Logitech USB / PS2 DVD-RW Lite-On 24x Sata (OEM) 2. Kebutuhan perangkat lunak. Windows XP Profesional Visual Basic 6.0 Microsoft access 3. Kebutuhan pengguna Dalam kebutuhan pembuatan dibutuhkan programmer dan analis. Tugas analis adalah orang yang mempelajari masalah dan kebutuhan untuk menentukan bagaimana orang, data, proses, komunikasi dan teknologi informasi dapat meningkatkan pencapaian bisnis. Tugas programmer adalah mengubah spesifikasi sistem yang diberikan oleh analis sistem ke dalam instruksi yang bisa dijalankan oleh komputer. 3.3 Analisis kelayakan sistem Dalam pengembangan sistem yang abru ada beberapa hal dalam keterkaitannya layak atau tidak sistem perencanaan pengembangan sistem tersebut. Dalam penerapan dan pengembangan sistem yang baru ada beberapa kelayakan yang harus dipertimbangkan sebagai bahan dalam melakukan pengembangan sistem tersebut. Kelayakan teknis Teknologi yang digunakan baik itu perangkat keras maupun perangkat lunak sudah bisa di dapatkan dengan mudah di pasaran. Dari yang sebelum sebelumnya, sudah banyak yang menerapkan sistem informasi perpustakaan di sekolah sekolah tertentu. Dari uraian tersebut maka dilihat dari kelayakan teknologi pengembangan dari penggunaan sistem ini layak untuk dikerjakan. Kelayakan operasional Sumber daya manusia untuk menjalankan sistem belum siap untuk mengoperasikan sistem informasi perpustakaan ini karena sumber daya manusia tersebut belum terbiasa menjalankan / mengoperasikan aplikasi komputer Maka dari itu, perlu di adakan pelatihan dengan sumber daya manusia tersebut.setelah diadakan pelatihan tersebut maka diharapkan sumber daya manusia dapat mengoperasikan aplikasi sebagaimana mestinya. Dari uraian tersebut maka dari segi kelayakan operasional sistem ini dikatakan layak. Kelayakan hukum Sistem perpustakaan yang dibuat tidak boleh melanggar peraturan yang berlaku di Indonesia terutama dala hal perijinan pemakaian aplikasi sistem. Dalam sistem perpustakaan ini perangkat lunak yang digunakan bersifat legal dan tidak menyimpang dari ketentuan yang berlaku. Dari uraian tersebut maka dari segi kelayakan hukum sistem perpustakaan ini dikatakan layak. Kelayakan ekonomi Analisis ekonomi ada dua komponen yaitu komponen biaya dan manfaat. a. Komponen Biaya 1. Biaya yang berhubungan dengan pembuatan sistem informasi terdiri dari: Biaya personil : gaji programmer, gaji analis sistem, Biaya dari pengadaan perangkat lunak dan perangkat keras. Hardware dan software tidak disediakan oleh pembuat sistem. 2. Biaya yang berhubungan dengan penerapan sistem terdiri dari: Biaya variable : biaya pelatihan petugas, biaya konversi sistem Biaya tetap : biaya overhead (biaya pemakaian listrik). b. Komponen Manfaat Manfaat dari sistem informasi dapat diklasifikasikan dalam bentuk keuntungan berwujud (tangible benefits) dan keuntungan tidak berwujud (intangible benefits). Keuntungan berwujud merupakan keuntungan yang berupa penghematan-penghematan atau peningkatan didalam perusahaan yang dapat diukur secara kuantitas dalam bentuk nilai uang. Sedangkan keuntungan tidak berwujud merupakan keuntungan yang sulit atau tidak mungkin diukur dalam bentuk satuan nilai uang. 4. Perancangan sistem 4.1 Perancangan prosesFlowchart Gambar 1 Flowchart DFD level 0 Data siswa Data nilai Data kelas Laporan data siswa d da data program studi Laporan data siswa Laporan data nilai Laporan data program studi Laporan data periode Kepsek Gambar 2 DFD level 0 DFD level 1 Panitia pendaftaran 0 Sistem pendaftaran kepsek Gambar 3 DFD level 1 Keterangan Admin/panitia :Entitas yang diharuskan melakukan login sebelum mengakses informasi Operator :Entitas yang diharuskan melakukan login sebelum mengakses informasi Kepala sekolah : Entitas luar login yang menerima berbagai laporan. Data siswa : Laporan data siswa Data nilai : Laporan data nilai Data Kelas : Laporan data kelas Data Sekolah asal : Laporan data asal sekolah Data Program studi : Laporan data program studi Data Guru : Laporan data guru di sekolah 4.2 Perancangan interface Perancangan formpendaftaran siswa baru Gambar 4 rancangan form pendaftaran siswa baru 5. Implementasi dan Pembahasan 5.1 Pemrograman Pembuatan database Database berfungsi sebagai tempat penyimpanan data. Di dalam database terdapat table, view, stored procedure dan trigger. Pembuatan form / interface Form adalah tempat membuat tampilan (user interface) untuk program aplikasi. Pembuatan tabel Tabel adalah bagian pembentuk database yang berupa kumpulan record sejenis yang mempunyai panjang elemen sama, atribut sama, tapi berbeda data valuenya. 5.2 Tes program Syntax error Run time error Logical error 5.3 Instalasi sistem Instalasi aplikasi merupakan langkah awal untuk melakukan pengujian sistem. Namun sebelum proses instalasi dilakukan, ada beberapa hal yang perlu dipersiapkan guna proses instalasi baik segi hardware maupun software (system requirement). 5.4 Tes sistem White box testing White box testing adalah cara pengujian dengan melihat ke dalam modul untuk meneliti kode kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris baris program, variabel dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang. Black box testing Black box testing terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses yang diinginkan. 5.5 Pelatihan Personil merupakan faktor yang perlu dipertimbangkan dalam sistem informasi. Personil akan dilatih terlebih dahulu dimaksudkan agar dalam pelaksanaan operasi dapat berjalan lancar. Pada pelatihan difokuskan dalam pengoperasian sistem, yaitu : mempersiapkan input, memproses data, menampilkan laporan. Personil yang dilatih sebagai calon pengoprasian sistem baru adalah petugas pendaftaran siswa baru. 5.6 Konversi system Proses konversi sistem merupakan proses untuk meletakan sistem baru supaya siap mulai untuk dapat digunakan adapun metode konversi sistem yang di pakai adalah konversi parallel ( parallel convertion ). Konversi parallel dilakukan dengan mengoperasikan sistem yang baru bersama-sama dengan sistem yang lama selama suatu periode waktu tertentu. Tujuan sistem ini di operasikan bersama-sama untuk meyakinkan apakah benar sistem yang baru lebih baik dari pada sistem yang lama. 5.7 Pemeliharaan Pemeliharaan sistem pada aplikasi pendaftaran siswa baru ini tergolong mudah, karena sistem ini memang dirancang untuk digunakan oleh umum. Artinya semua kalangan yang walaupun tanpa memiliki basic pemrograman program, administrasi komputer, maupun ilmu komputer yang lebih, masih dapat menggunakan program ini. Maintenance Syistem hanya difokuskan pada pemback-upan file dan data dari database serta pengolahan data secara berkala. Dengan cara demikian kita akan mendapatkan beberapa file back-up sekaligus, serta dengan data yang sama pada kedua file atau beberapa file yang telah terbentuk. 5.8 Manual program Manual program merupakan suatu petunjuk bagi pemakai dalam penggunaan sistem yang diusulkan penulis. 1. Form login Form login adalah form yang diproses pertama kali untuk menuju form menu utama dalam sistem pendataan siswa baru ini, form login berfungsi untuk membatasi siapa saja yang dapat mengakses data data yang ada pada aplikasi. Gambar 5 Form Login 2. Form pendataan siswa baru Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data calon siswa baru yang mendaftar. Gambar 6 Form pendaftaran siswa baru 3. Form pendaftaran siswa pindahan Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data calon siswa pindahan yang mendaftar. Gambar 7 Form pendaftaran siswa pindahan 4. Form Data jurusan Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data jurusan calon siswa yang mendaftar. Gambar 8 Form Data jurusan 5. Form Data kelas Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data program studi yang ada di sekolah. Gambar 9 Form Data kelas 6. Form Data orang tua Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data Orang tua Wali yang ada di sekolah. Gambar 10 Form Data orang tua 7. Form Data Pengguna Form ini digunakan untuk menambahkan, memperbaiki atau menghapus data Pengguna yang ada di sekolah. . Gambar 11 Form Data Pengguna 6. Penutup 6.1 Kesimpulan Untuk membuat aplikasi pendaftaran sistem penerimaan siswa baru,dilalui dengan beberapa tahapan, identifikasi, analisis, perancangan, implementasi, uji coba dan pemeliharaan sistem. Dari uraian dan penjelasan pada bab sebelumnya,serta analisis yang telah dilakukan dengan melakukan studi kelayakan terlebih dahulu,dapat disimpulkan bahwa : Aplikasi pendataan siswa baru mempermudah kinerja panitia pelaksana untuk melakukan pendataan biodata siswa baru . Biaya yang dibutuhkan dalam pengeditan tidak memerlukan biaya yang banyak karena tidak memerlukan kertas yang banyak sehingga penghematan biaya. 6.2 Saran Dalam sistem pendataan siswa baru ini penulis memberikan saran, antara lain Hal penting yang perlu diperhatikan dengan adanya sistem baru adalah melakukan perawatan terhadap perangkat lunak dan perangkat keras dengan baik sehingga sistem bisa berjalan dengan baik. Seiring berkembangnya organisasi dan teknologi maka akan terjadi pula peningkatan kebutuhan sehingga menyebabkan sistem yang sudah berjalan pada saatnya nanti tidak mampu memenuhi kebutuhan pihak yang terkait. Maka dari itu pada saatnya nanti sistem juga perlu dilakukan evaluasi dan pengembangan lebih lanjut. Sistem yang baru masih kurang sempurna sehinga dibutuhkan pengembangan sistem untuk memenuhi kebutuhan aplikasi pendataan siswa baru yang lebih baik lagi. DAFTAR PUSTAKA Fatta, Hanif Al. 2007. Analisis & Perancangan Sistem Informasi. Yogyakarta : Andi Yogyakarta. Jogiyanto, H M. 1989. Analisis & Desain. Yogyakarta : Andi Yogyakarta. Kusrini. 2006. Strategi Perancangan dan Pengelolaan Basis Data. Yogyakarta : Andi Yogyakarta. Tim. 2009. Pedoman Penyusunan Proposal dan Laporan Skripsi. Edisi 2009. S1 Sistem Informatika & Teknik Informatika STMIK Amikom Yogyakarta.
Visual Studio 2019 In Depth: Discover and make use of the powerful features of the Visual Studio 2019 IDE to develop better and faster mobile, web, and desktop applications (English Edition)