Hossam Blog

September 13, 2006

Java IDE/Editors

Filed under: Comparisions — Hossam Ahmed @ 3:20 am



1) jEit

jEdit is a free, mature, and well-designed programmer’s code editor that is written in Java and is highly customizable through plugins and options.

2) TextPad

Low-cost powerful, general purpose editor. Currently it only runs on Microsoft Windows and it has underpowered regular _expression support.

3) UltraEdit

Low-cost code editor that is stable and feature-rich. Only runs on Microsoft Windows.

4) NEdit

Free powerful multi-purpose text editor. Many advanced features for programmers. Though originally a Unix application, it now has Mac OS X and Microsoft Windows ports.

5) JPad Pro

Low-cost Java editor with many advanced features including visual debugger, code completion, and source browser. Only runs on Microsoft Windows.

6) Gel

Gel is an IDE for Java that features syntax highlighting (Java, JSP, HTML, XML, C, C++, Perl, Python, etc), unlimited undo and redo, column selection mode, block indent and unindent, highlighting of matching braces, spell checking, automatic positioning of closing braces, auto indent, regular _expression searches, find in files, code completion (Java and JSP), parameter hints, identifier hints, context sensitive help linked to Javadoc, class browser, project management, integrated support for ANT and JUnit, differencing tool to compare files, etc. It works only on Windows (it was not written in Java).

7) DrJava Java IDE

DrJava is an integrated development environment for Java, released under the GNU GPL, that allows you to interactively evaulate Java expressions.

8) BlueJ Java IDE

BlueJ is a Java IDE that has a built-in editor, compiler, virtual machine and debugger for writing Java programs. It also has a graphical class structure display, supports graphical and textual editing, allows interactive object creation, interactive testing and incremental application building.

9) JIPE Java IDE

Jipe is a free Java IDE written in Java. It allows you to write and test Java applications and applets. Among its features are syntax highlighting, a Methods speedbar and project management. Since it’s written in Java, it is presumably portable to all operating systems that has a Java Virtual Machine. The author appears to have tested it on both Windows and Linux.

10) JCreator Java IDE LE (Light Edition)

The light edition of this IDE for Java has support for project management, a syntax highlighting editor, wizards, class viewer, package viewer, tabbed documents, JDK profiles (which allows you to work with multiple Java Development Kits), a customizable user interface, etc. JCreator runs on Windows 95, 98, NT4, 2000 (and presumably Windows ME too).

11) NetBeans

NetBeans is a cross-platform open source IDE for Java that comes with a syntax highlighting code editor that supports code completion, annotations, macros, auto-indentation, etc. It includes visual design tools (wizards) for code generation. It integrates with numerous compilers, debuggers, Java Virtual Machines and other tools.

12) RealJ

RealJ is a free Java development environment for Windows 95, 98 and NT, that: allows you to edit, compile and run Java applets and applications; has a class and function browser, syntax highlighting, integrated JDK reference in WinHelp format; and has the ability to go straight to the offending bit of source code by double-clicking on the compiler error message. You can also highlight a Java keyword or classname in the source editor, and go straight into the JDK reference by pressing F1. (Note: RealJ was formerly called FreeJava.)

Eclipse, JBuilder, and Sun Java Studio (in that order) appear to be the most popular choices, at least among the free and low-cost options.

  • Eclipse. Free, open-source IDE. The most popular of the Java IDEs, but harder to set up and configure than the commercial ones. See this installation tutorial for setup help. Eclipse is the base IDE, but there are many Java-related plugins for Eclipse, and several commercial IDEs built on top of Eclipse. Here is information on a few:
  • Borland JBuilder. Borland JBuilder is a Java IDE for Windows, Solaris, and Linux. They offer a few different JBuilder versions:

Look at their feature matrix to compare and contrast the different versions.

  • Sun Java Studio Creator. Java IDE for Windows, Solaris, and MacOS. Has very extensive drag-and-drop support for JavaServer Faces (JSF). Aims at making it easy for relative beginners to make complex server-side apps, but will be less popular for those not using JSF or for experts that prefer to work directly with the code. Built on the free, open-source NetBeans IDE.
  • IBM WebSphere Studio Site Developer for Java. Java IDE for Windows and Linux. Expensive but very powerful IDE for servlets, JSP, and other J2EE development. Not limited to use with the WebSphere app server.

 

General Comparision between Programming Languages

Filed under: Comparisions — Hossam Ahmed @ 2:53 am

Programming languages are used for controlling the behavior of a machine (often a computer). Like human languages, programming languages have syntactic and semantic rules used to define meaning.

There are thousands of programming languages and new ones are created every year. Few languages ever become sufficiently popular that they are used by more than a few people.

General comparison

The following table compares general and technical information for a selection of commonly used programming languages. See the individual languages’ articles for further information.

Language General model of execution Influences Paradigm(s) Typing discipline Introduced
Ada Compilation Algol, Pascal, C++ (Ada 95), Smalltalk (Ada 95) concurrent, distributed, generic, imperative, object-oriented static, strong, safe, nominative 1983
C Compilation Algol, B imperative, flow-driven static, weak, unsafe 1973
C++ Compilation C, Simula, Algol 68 imperative, object-oriented, generic static, strong, unsafe, nominative 1980
C# JIT compilation Delphi, Java, C++ imperative, object-oriented, generic, multi-platform static, strong, both safe and unsafe 2000
COBOL Compilation FLOW-MATIC, COMTRAN imperative, object-oriented weak/strong 1959
ColdFusion JIT compilation HTML procedural, functional, object-oriented dynamic (duck), weak 1995
Common Lisp Compilation Lisp, Smalltalk imperative, functional, object-oriented dynamic, strong, safe 1984
D Compilation C , C++, Java, C# imperative, object-oriented, generic strong 2000
Eiffel Compilation Ada, Pascal object-oriented, generic static, strong, safe, nominative, contracts 1985
Erlang Compilation Prolog, Ericsson Pascal, CSP functional, concurrent, distributed, multi-platform dynamic, weak late 1980s
Forth Interpretation / Compilation none imperative, stack-oriented typeless 1977
Fortran Compilation none imperative static, strong, safe, nominative 1957
Java Interpretation / JIT compilation C++, Objective-C object-oriented, multi-platform, generic static, strong 1994
JavaScript Interpretation C, Self, awk, Perl imperative, object-oriented, functional dynamic 1995
Haskell Interpretation / Compilation Miranda, ML functional, generic static, strong, type inference 1998
Mathematica Interpretation Lisp functional, procedural dynamic, strong 1986
Objective-C Compilation C, Smalltalk object-oriented static/dynamic hybrid, strong 1986
Objective Caml Interpretation / Compilation ML, Lisp object-oriented, functional static, safe, structural, type inference 1996
Object Pascal Compilation Pascal imperative, object-oriented static, strong, safe (but unsafe allowed), nominative 1995
Perl Interpretation C, shell, awk, sed, Lisp functional, object-oriented, procedural dynamic 1987
PHP Interpretation Perl, C imperative, object-oriented dynamic, weak 1995
Python Interpretation ABC, Perl, Modula-3 imperative, object-oriented, functional dynamic (duck), strong 1991
Ruby Interpretation Smalltalk, Perl imperative, object-oriented, functional dynamic (duck),

HTML Web Editors

Filed under: Tools — Hossam Ahmed @ 2:38 am
  • Acme Web Design – Compact freeware HTML editing tools. Counter generator, email-address cloaker.
  • AEdiX Suite – Syntax-highlighting text editor with special HTML features such as syntax validation and template scripting.
  • Alleycode – Fast syntax-highlighting editor with tutorial; additionally focusses on PHP and CSS interaction.
  • Amaya – W3C’s complete web browsing and authoring environment. [Open Source]
  • Anansi – Project-oriented HTML editor with both Windows 3.x and 95 versions.
  • Arachnophilia – HTML source editor with templates, tag insertion, internal page viewer, ftp client, and web browser launching. [Java]
  • Araneae – HTML editor for serious web developers features; helpful tools such as syntax highlighting, a colour picker, drag and drop image and link insertions, font tag insertion, date insertion, supports multiple languages, and multiple browser support.
  • blink – A WYSIWYG HTML Editor with built in stylesheet editor and HTML validator.
  • ClipCollect – Automatic text snippets formatter, editor, note database, clipboard utility. Website builder and converter mirrors any file directory contents to generated HTML pages.
  • CoffeeCup Free HTML Editor – This is a “trimed down” version of the CoffeeCup HTML Editor. Has FTP support and wizards for tables, frames and forms.
  • CreaText HTML Text Editor – An open-source HTML text editor for Mac OS X.
  • CSE HTML Validator Lite – Simple HTML editor with built-in HTML validator, syntax checker and spell checker. [Windows]
  • EasyHTML – Simple customizable HTML editor with syntax coloring, custom helpers, free JavaScript codes and a built-in browser.
  • Evrsoft 1stPage 2000 – Completely free professional HTML editing software with lots of features including built-in JavaScripts.
  • Fastcm – Simple web content management system using CML. Online documentation and mailing-list support. [Open source]
  • FCKeditor – Web-based HTML text editor with powerful formatting capabilities. Requires no installation on the client computer.
  • HotHTML 2001 Professional – Text based editing tool that supports ASP and Perl.
  • HTML-Kit – Edit, format, lookup help, validate, preview and publish HTML documents from an easy to use environment. Full featured web page editor that can point out errors and optionally auto correct the HTML code.
  • HTMLtoRTF Converter Easy – Converts multiple HTML to RTF with tables.
  • MAX’s HTML Beauty++ 2004 – Advanced HTML editor with right click tag editing, extended find and replace, internal preview, HTML Tidy support, and full support for PNG and WBMP image formats.
  • Nvu – Open source web authoring system with WYSIWYG and HTML modes and site manangement features derived from Netscape Composer. Designed for Linux, Windows, and Macs.
  • Online HTML Editor – Online HTML Editing tool. Easy to use visual tool for developing simple web pages.
  • PagePainter – Editor that allows the user to create and test color schemes for a web page before changing the code. [Windows 98+]
  • Plexel – Freeware Javascript Applications platform and Web Page Editor, Javascript source. [Open Source]
  • protopad – A WYSIWYG rich text editor that can output html and other scripting language.
  • ScrollbarGenerator – A web design utility that generates the css code that customizes the color of IE 5.5+ scroll bars. Available for MacOS and Windows.
  • Selida – WYSIWYG HTML editor with code completion, HTML 4 reference and integrated HTML Tidy.
  • SiteAid – A simple HTML editor with tabbed interface, integrated help, browser and formatting buttons.
  • Smart Web Builder – A web-developers and programmers editor with a customizable interface.
  • Squarefree Real-Time Editor – Framed editor: The results of HTML typed in the top frame immediately appear in the bottom frame.
  • Stone’s WebWriter – HTML editor for Win32, that features an image viewer, JavaScript editor, image map editor, FTP module, style sheet editor, and a collection of templates. Product price is free (without support) and shareware for support.
  • Taco Software – Produces full-featured freeware for Mac OS X including Taco HTML Edit.
  • ToCreator – Java program that automatically creates a Table of Contents (TOC) for any html document.
  • WebDwarf – Drag and drop WYSIWYG HTML editor with pixel precision positioning and scaling. Includes a text, HTML and Rich Text editor.
  • WebTide – A professional web developer’s tool. Requires Java VM. [Win32, MacOS, and Linux]
  • WebWizard – Simple browser-based graphical design tool. Online demonstration, documentation, free download with registration.

What Is 3G?

Filed under: What Is — Hossam Ahmed @ 2:21 am

3G (or 3-G) is short for third-generation technology. It is used in the context of mobile phone standards. The services associated with 3G provide the ability to transfer simultaneously both voice data (a telephone call) and non-voice data (such as downloadinginformation, exchanging email, and instant messaging). In marketing 3G services, video telephony has often been used as the killer application for 3G.3G networks are not upgrades of 2G networks and do not operate on the same frequency spectrum; rather, entirely new networks need to be built and new frequencies need to be assigned to mobile operators. Induced euphoria led to huge spectrum-licensing fees in many countries, especially in Europe, where spectrum auctions went into the billions of euros. These spectrum licensing fees which were collected years before actual 3G development, together with the enormous investments necessary to build the all-new 3G networks, financially strained a number of mobile operators, delaying 3G roll-out worldwide except in Japan and South Korea, where such spectrum licensing fees were non-existent as the priority in those countries was set on national IT infrastructure development.

The first country which introduced 3G on a large commercial scale was Japan. In 2005, about 40% of subscribers used 3G networks only, with 2G being on the way out in Japan. It was expected that during 2006 the transition from 2G to 3G would be largely completed in Japan, and upgrades to the next 3.5G stage with 3 Mbit/s data rates were underway.

The successful 3G introduction in Japan showed that video telephony was not the killer application for 3G networks after all. The real-life usage of video telephony on 3G networks was found to be a small fraction of all services. On the other hand, downloading of music found strong acceptance by customers. Music download services in Japan were pioneered by KDDI with the EZchakuuta and Chaku Uta Full services.

Technically, 3G networks are not IEEE 802.11 networks. IEEE 802.11 networks are short range, primarily internet access networks, while 3G networks are wide area cellular telephone networks which evolved to incorporate high-speed internet access and video telephony to these networks.

Features:The most significant features offered by third generation (3G) mobile technologies are the momentous capacity and broadband capabilities to support greater numbers of voice and data customers – especially in urban centres – plus higher data rates at lower incremental cost than 2G.

By using the radio spectrum in bands identified, which is provided by the ITU for Third Generation IMT-2000 mobile services, it subsequently licensed to operators. 3G uses 5 MHz channel carrier width to deliver significantly higher data rates and increased capacity compared with 2G networks.

The 5 MHz channel carrier provides optimum use of radio resources for operators who have been granted large, contiguous blocks of spectrum. On the other hand, it also helps to reduce the cost to 3G networks while being capable of providing extremely high-speed data transmission to users.

It also allows the transmission of 384kbps for mobile systems and 2Mbps for stationary systems. 3G users are expected to have greater capacity and improved spectrum efficiency, which will allow them to access global roaming between different 3G networkings.

Standard 3G:

International Telecommunications Unit (ITU): IMT-2000 consists of five radio interfaces

  • W-CDMA
  • CDMA2000
  • CDMA2001
  • TD-CDMA / TD-SCDMA
  • UWC-136
  • DECT+

What Is MAML?

Filed under: What Is — Hossam Ahmed @ 1:50 am

MAML is part of a new approach to help in Windows Vista. This approach is both more integrated with the software and more focused on user tasks. MAML provides a structre in which you can write user assistance information, which can then be presented to the user in a variety of locations.

An example of help using this schema (http://schemas.microsoft.com/maml/dev/2004/10) can be found on the Microsoft Office Online Assistance. Additionally, if the user chooses to get the latest online content, that content is downloaded to the local machine as MAML and transformed at runtime into HTML for display, just as the local content is.

MAML Topic Types
The following types of topic are currently in use in the new MAML based Office Online pages:
MAML_training.gif Training: to learn more about using programs, focus on features or activity areas and allow to suggest best practices. Courses are self-paced, and include graphics, animation, audio, and practice sessions for hands-on experience. They have an inherent browse sequence
MAML_article.gif Article: up-to-date information in the form of how-to, and tips information.
MAML_topic.gif Topics :conceptual information about functionality and theory behind features.
MAML_disucssion.gif Discussion: online Community where you can interact with fellow users, get your questions answered, share ideas, and learn more about products and technologies that interest you.

Reference
-Vista Help Technical Overview

What Is Assistace Platform?

Filed under: What Is — Hossam Ahmed @ 1:43 am

Assistance Platform (AP) is part of a new approach to help in Windows Vista. This approach is both more integrated with the software and more focused on user tasks.

AP is the technology used to deliver Help for windows vista.

It takes the MAML content and presents it to the user in an appropriate location.

Rather than present user assistance information as one help file with a large Table Of Contents, it can now appear in the following locations:

-Directly in User Experience
- Embeded Help
- Super Tooltips
- Ribbon
- Help pannels
-In application Context
- Help window
-No Context
- Help Centre

AP Wokrflow (Programming Windows Help PDC03)

  1. Well-designed app UI
  2. Assistance directly in app UI
  3. Help Pane and Help Center
  4. User community
  5. Your product support center

What Is WYSIWYG?

Filed under: What Is — Hossam Ahmed @ 1:29 am
WYSIWYG is an acronym for What You See Is What You Get, used in computing to describe a system in which content during editing appears very similar to the final product. It is commonly used for word processors, but has other applications, such as Web (HTML) authoring.
Meaning:
  • The term describes a user interface that allows the user to view something very similar to the end result while the document or image is being created. For example, a user can view on screen how a document will look when it is printed to paper or displayed in a Web browser.
  • It implies the ability to modify the layout of a document without having to type or remember names of layout commands.

Modern software does a fairly good job of optimising the screen display for a particular type of output. For example, a word processor is optimised for output to a typical printer. The software often emulates the resolution of the printer in order to get as close as possible to WYSIWYG. However, that is not the main attraction of WYSIWYG, which is the ability of the user to be able to visualise what he or she is doing.

In many situations, the subtle differences between what you see and what you get are unimportant. In fact, applications may offer multiple WYSIWYG modes with different levels of “realism,” including:

  • A composition mode, in which the user sees something somewhat similar to the end result but with additional information useful while composing, such as section breaks and non-printing characters, and uses a layout that is more conducive to composing than to layout.
  • A layout mode, in which the user sees something very similar to the end result but with some additional information useful in ensuring that elements are properly aligned and spaced, such as margin lines.
  • A preview mode, in which the application attempts to present a representation that is as close to the final result as possible.

Applications may deliberately deviate or offer alternative composing layouts from a WYSIWYG because of overhead or the user’s preference to enter commands or code directly.

 Historical notes:

  • Before the invention of WYSIWYG, all text and control characters appeared in the same typeface and style with little indication of layout (margins, spacing, etc.). Users were required to enter code tags to indicate that some text should be in boldface, italics, or a different typeface or size. These applications used an arbitrary markup language to define the tags. Because of its simplicity, this method remains popular for some basic text editing applications (such as Wikipedia).
  • The phrase was originated by a newsletter published by Arlene and Jose Ramos, called WYSIWYG. It was created for the emerging Pre-Press industry going electronic in the late 1970s. After 3 years of publishing, the newsletter was sold to employees at the Stanford Research Institute in California. The first conference on the topic was organized by Jonathan Seybold and the first technology popularized at Xerox PARC during the late 1970s when the first WYSIWYG editor, Bravo, was created on the Alto. The Alto monitor (72 pixels per inch) was designed so that one full page of text could be seen and then printed on the first laser printers. When the text was laid out on the screen 72 PPI font metric files were used, but when printed 300 PPI files were used — thus one would occasionally find characters and words slightly off, a problem that continues to this day. (72 PPI came from the standard of 72 “points” per inch used in the commercial printing industry.)
  • Seybold and the researchers at PARC were simply reappropriating a popular catch phrase of the time originated by “Geraldine”, Flip Wilson’s drag persona from Rowan & Martin’s Laugh-In in the late 60s and and then on The Flip Wilson Show, (1970–1974).
  • The Apple Macintosh system was originally designed so that the screen resolution and the resolution of the dot-matrix printers sold by Apple were easily scaled: 72 PPI for the screen and 144 DPI for the printers. Thus, the on-screen output of programs such as MacWrite and MacPaint were easily translated to the printer output and allowed WYSIWYG editing. With the introduction of laser printers, resolutions deviated from even multiples of the screen resolution, making WYSIWYG harder to achieve.
  • Charles Simonyi, the PARC researcher responsible for Bravo, joined Microsoft in 1981 to start development of application programs at Microsoft. Hence, Bravo can be seen as the direct ancestor of Microsoft Word.
See Also:
WYSIWIS:
What You See Is What I See (used in context of distant multi-users applications, e.g. CSCW)
WYSIWYAF:
What You See Is What You Asked For (in reference to programs such as those used for manual typesetting such as TeX or troff, that what is retrieved from the system is what the user specified – in essence, a statement of GIGO)
WYSIAYG:
What You See Is All You Get (used to point out that a style of “heading” that refers to a specification of “Helvetica 15 bold” provides more useful information than a style of “Helvetica 15 bold” every time a heading is used)
WYSIWYM:
What You See Is What You Mean (You see what best conveys the message)
WYTYSIWYTYG:
What You Think You See Is What You Think You Get (/wɪtɪsiwɪtɪg/) (when a program claims to be WYSIWYG but isn’t)
WYCIWYG:
What You Cache is What You Get (“wyciwyg://” turns up occasionally in the address bar of Gecko-based Web browsers like Mozilla Firefox when the browser is retrieving cached information) -or – What You Create Is What You Get -or- What You Click Is What You Get)
WYGIWYG:
What You Get Is What You Get (an alternative approach to document formatting using markup languages, e.g. HTML, to define content and trusting the layout software to make it pretty enough)
WYSYHYG:
What You See You Hope You Get (/wɪzihɪg/) (a term ridiculing text mode word processing software; used in the Microsoft Windows Video Collection, a video distributed around 1991 on two VHS cassettes at promotional events).

Blog at WordPress.com.