Programming Languages Starting with J @ eIT.in

 

eIT.ineverything IT is in Here   eIT Directory

 

 

 

Hot & Cool

 

SerkaiThe Web Cooperative

 

AntiSEThe Anti Search Engine

 

GeoDigBusinesses by Geography

 

Quali5Own a Keyword Forever

 

FollarsMaking Money from Open  Source

 

Billion Dollar Questions – and answers @ Billdoll.com

 

The Anti Bush Register – sign the register now!

 Advt 

 

eIT.in100’s of categories, 1000’s of IT resources

 

Software

 

Operating Systems, Programming & Development, Databases, Legacy & Mainframe, Internet

Hardware

 

Computer hardware and accessories, performance & maintenance, storage…

Networking & Communications

 

Networking architecture, infrastructure, administration, standards & protocols…

 

IT Infrastructure

 

ITIL, IT infrastructure management…

 

 

IT Support

 

Information technology & software support, administration, software testing, data centers…

 

IT in Industries

 

Information technology & software across industries

 

IT in Functions

 

Information technology & software across functional domains

 

IT Organizations & Industry Network

 

IT associations & organizations, IT related directories and trade networks…(Software Links Exchange)

 

IT Strategy & Design

 

Information technology & software architecture and design, IT strategy

 

IT News & Updates

 

IT news, updates, events & trade shows

IT Outsourcing Assistance


Use our services to locate the right vendor for a wide range of IT & software outsourcing domains

Related Links

 

Mainframes (Mainframe), AML, Analytics, Databases, EAI, BPO, CRM, Legacy, Legacy 2 Web, Middleware, IT Software Outsourcing & Offshoring Directory, Follars

 

 

Programming Languages Starting with J @ eIT.in

 

This section of eIT.in provides web resources for programming languages starting with J. 

 

Add Links: If you have a web site that you wish to include in this database, do let us know the details by sending a note about your URL to narsi@esource.in. We’ll quickly review the web site, and if found relevant, add it to the database. We look forward to web site owners and link exchange partners to submit URL. Thanks!  

 

 

Looking for an outsourcing partner for software programming & development? Have you talked to us?

 

 

   

 

..

 

..

 

 

Other IT Web Sites from eIT.in

 

 

Content derived from Wikipedia article on J Programming Language

 

J (programming language)

From Wikipedia, the free encyclopedia

 

 

Not to be confused with the J++ or J# programming languages.

J Paradigm: array, functional, function-level, tacit

Appeared in: 1990

Designed by: Ken Iverson & Roger Hui

Developer: JSoftware

Typing discipline: strong

Major implementations: J

Influenced by: APL, FP, FL

 

The J programming language, developed in the early 1990s by Ken Iverson and Roger Hui, is a synthesis of APL (also by Iverson) and the FP and FL functional programming languages created by John Backus (of FORTRAN, ALGOL, and BNF fame).

 

To avoid the problems faced by the special character set of APL, J requires only the basic ASCII character set, resorting to the use of dot and colon characters to extend the meaning of the basic characters available.

 

Being an array programming language, J is very terse and powerful, and is often found to be useful for mathematical and statistical programming, especially when performing operations on matrices.

 

Like the original FP/FL languages, J supports function-level programming (also known as higher-order functional programming), via its tacit programming features (note that function-level programming is not the same as functional programming).

 

Unlike most languages that support object-oriented programming, J's flexible hierarchichal namespace scheme (where every name exists in a particular locale) can be effectively used as a framework for both class-based and prototype-based object oriented programming.

 

J is a non-von Neumann programming language that nevertheless allows the programmer to use von Neumann programming style when desired.

 

Contents

 

1 Examples

2 Data Types and Structures

3 Dictionary

3.1 Vocabulary

4 See also

5 External links

 

 

 

Examples

J is an extremely powerful language, and its programs can be very terse but even more cryptic.

 

The hello world program in J is

 

  'Hello, world!'

This implementation of hello world reflects the traditional use of J -- programs are entered into a J interpreter session, and the results of expressions are displayed. It's also possible to arrange for J scripts to be executed as standalone programs, but the mechanisms for associating a script with the interpreter are system dependent. Here's how this might look on a unix system:

 

  #!/bin/jc

  echo 'Hello, world!'

  exit ''

But many accomplished J programmers never resort to such mechanisms.

 

Here's a J program to calculate the average of a list of numbers:

 

      avg =. +/ % #

      avg 1 2 3 4

  2.5

'#' - counts the number of elements in the string. '+/' - adds up all the elements in the string. '%' - divides the sum of the elements by the number of elements.

 

Now let's generate some random numbers and find the average:

 

     a =. ?20$100

     a

  31 16 60 64 64 71 13 3 76 26 25 77 68 48 42 91 99 97 99 9

     avg a

  53.95

 

Here is an implementation of quicksort, from the J Dictionary:

 

sel=: adverb def 'u # ['

 

quicksort=: verb define

 if. 1 >: #y do. y

 else.

  (quicksort y <sel e),(y =sel e),quicksort y >sel e=.y{~?#y

 end.

)

The follow is an implementation of quicksort demonstrating tacit programming. Tacit programming involves chaining functions together into trains and not referring explicitly to any variables. J's support for forks and hooks dictate rules on how arguments applied to this function will be applied to its component functions.

 

quicksort =: ($:@(}.#~{.>:}.),{.,[:$:}.#~{.<}.)`]@.(2:>#)

The following expression (thanks to Roger Hui) computes n digits of pi and demonstrates the extended precision capabilities of J:

 

 n=.50                                           NB. set n as the number of digits required

 <.@o. 10x^n                                     NB. extended precision 10 to the nth * pi

314159265358979323846264338327950288419716939937510

Also have a look at Cliff Reiter's implementation of Conway's game of life at http://ww2.lafayette.edu/~reiterc/j/vector/vlife_index.html

 

 

Data Types and Structures

J supports three simple types:

 

Numeric

Literal (Character)

Boxed

Of these, numeric has the most variants.

 

One of J's numeric types is the bit. There are two bit values: 0, and 1. Additionally, bits can be formed into lists. For example, 1 0 1 0 1 1 0 0 is a list of eight bits. And, syntactically, the J parser treats that as a single word (space characters are recognized as a word forming character when they're between what would otherwise be numeric words). Lists of arbitrary length are supported.

 

Furthermore, J supports all the usual binary operations on these lists, such as and, or, exclusive or, rotate, shift, not, etc. For example,

 

   1 0 0 1 0 0 1 0 +. 0 1 0 1 1 0 1 0     NB. or

1 1 0 1 1 0 1 0

   3 |. 1 0 1 1 0 0 1 1 1 1 1             NB. rotate

1 0 0 1 1 1 1 1 1 0 1

Note that J also supports higher order arrays of bits -- they can be formed into two-dimensional, three-dimensional, etc. arrays. The above operations perform equally well on these arrays.

 

Other numeric types include integer (3, 42), floating point (3.14, 8.8e22), complex (0j1, 2.5j3e88), extended precision integer (12345678901234567890x), and (extended precision) rational fraction (1r2, 3r4). As with bits, these can be formed into lists or arbitrarily dimensioned arrays. As with bits, operations are performed on all numbers in an array.

 

Lists of bits can be converted to integer using the #. verb. Integers can be converted to lists of bits using the #: verb. (And, when parsing J, . and : are word forming characters. They're never tokens by themselves unless preceded by a space.)

 

J also supports the literal (character) type. Literals are enclosed in quotes, for example, 'a' or 'b'. Lists of literals are also supported using the usual convention of putting multiple characters in quotes, such as 'abcdefg'. Typically, individual literals are 8-bits wide (ascii), but J also supports other literals (unicode). Numeric and boolean operations are not supported on literals, but collection oriented operations (such as rotate) are supported.

 

Finally, there's the boxed data type. Typically, data is put in a box using the < operation (without any left argument -- if there's a left argument, this would be the 'less than' operation). This is analogous to C's & operation (without any left argument). However, where the result of C's & has reference semantics, the result of J's < has value semantics. In other words, < is a function and it produces a result. The result has 0 dimensions, regardless of the structure of the contained data. From the viewpoint of a J programmer, < 'puts the data into a box' and lets the programmer work with an array of boxes (it can be assembled with other boxes, and/or additional copies can be made of the box). Boxed data is displayed by J, somewhat after the fashion some SQL interpreters decorate table results from select statements.

 

   <1 0 0 1 0

+---------+

|1 0 0 1 0|

+---------+

The only collection type offered by J is the arbitrarily dimensioned array. Most algorithms can be expressed very concisely using operations on these arrays.

 

J's arrays are homogenously typed, for example the list 1 2 3 is a list of integers despite the fact that 1 is a bit. For the most part, these sorts of type issues are transparent to the programmer. Only certain specialized operations reveal differences in type. For example, the list 1.0 0.0 1.0 0.0 would be treated exactly the same, by most operations, as the list 1 0 1 0.

 

J also supports sparse numeric arrays where non-zero values are stored with their indices. This is an efficient mechanism where relatively few values are non-zero.

 

J also supports objects and classes, but these are an artifact of the way things are named, and are not data types in and of themselves. Instead, boxed literals are used to refer to objects (and classes). J data has value semantics, but objects and classes need reference semantics.

 

Another pseudo-type -- associated with name, rather than value -- is the memory mapped file.

 

 

Dictionary

J's documentation is organized as a dictionary, with words in J identified as nouns, verbs, adverbs, conjunctions, and so on. Here's an overview (with external links into the corresponding definitions,). Parts of speech are indicated using markup: nouns verbs, and miscellaneous adverbs, and conjunctions. Note that verbs have two forms -- monads (arguments only on the right) and dyads (arguments on the left and on the right). For example, in '-1' the hyphen is a monad, and in '3-2' the hyphen is a dyad. The monad definition is mostly independent of the dyad definition, regardless of whether the verb is a primitive verb or a derived verb.

 

 

Vocabulary

Constants

Controls

Foreigns

Parts of Speech

= Self-Classify ? Equal =. Is (Local) =: Is (Global)

< Box ? Less Than <. Floor ? Lesser Of (Min) <: Decrement ? Less Or Equal

> Open ? Larger Than >. Ceiling ? Larger of (Max) >: Increment ? Larger Or Equal

_ Negative Sign / Infinity _. Indeterminate _: Infinity

 

+ Conjugate ? Plus +. Real / Imaginary ? GCD (Or) +: Double ? Not-Or

* Signum ? Times *. Length/Angle ? LCM (And) *: Square ? Not-And

- Negate ? Minus -. Not ? Less -: Halve ? Match

% Reciprocal ? Divide %. Matrix Inverse ? Matrix Divide %: Square Root ? Root

 

^ Exponential ? Power ^. Natural Log ? Logarithm ^: Power

$ Shape Of ? Shape $. Sparse $: Self-Reference

~ Reflex ? Passive / EVOKE ~. Nub ? ~: Nub Sieve ? Not-Equal

| Magnitude ? Residue |. Reverse ? Rotate (Shift) |: Transpose

 

. Determinant ? Dot Product .. Even .: Odd

: Explicit / Monad-Dyad :. Obverse :: Adverse

, Ravel ? Append ,. Ravel Items ? Stitch ,: Itemize ? Laminate

; Raze ? Link ;. Cut ;: Word Formation ?

 

# Tally ? Copy #. Base 2 ? Base #: Antibase 2 ? Antibase

! Factorial ? Out Of !. Fit (Customize) !: Foreign

/ Insert ? Table /. Oblique ? Key /: Grade Up ? Sort

\ Prefix ? Infix \. Suffix ? Outfix \: Grade Down ? Sort

 

[ Same ? Left  [: Cap

] Same ? Right  

{ Catalogue ? From {. Head ? Take {: Tail ? {:: Map ? Fetch

} Item Amend ? Amend }. Behead ? Drop }: Curtail ?

 

" Rank ". Do ? Numbers ": Default Format ? Format

` Tie (Gerund)  `: Evoke Gerund

@ Atop @. Agenda @: At

& Bond / Compose &. Under (Dual) &: Appose

 &.: Under

? Roll ? Deal ?. Roll ? Deal (fixed seed)

 

a. Alphabet a: Ace (Boxed Empty) A. Anagram Index ? Anagram

b. Boolean / Basic c. Characteristic Values C. Cycle-Direct ? Permute

d. Derivative D. Derivative D: Secant Slope

e. Raze In ? Member (In) E. ? Member of Interval f. Fix

 

H. Hypergeometric i. Integers ? Index Of i: Integers ? Index Of Last

j. Imaginary ? Complex L. Level Of L: Level At

 NB. Comment o. Pi Times ? Circle Function

p. Polynomial p.. Poly. Deriv. ? Poly. Integral p: Primes ?

 

q: Prime Factors ? Prime Exponents r. Angle ? Polar s: Symbol

S: Spread t. Taylor Coefficient t: Weighted Taylor

T. Taylor Approximation  u: Unicode

 x: Extended Precision _9: to 9: Constant Functions

 

 

See also

K, another programming language influenced by APL

 

External links

JSoftware- Creators of J (currently free for all uses)

Cliff Reiter- Chaos, fractals and mathematical symmetries... in J

Ewart Shaw- Bayesian inference, medical statistics, and numerical methods, using J

Keith Smillie- Statistical applications of array programming languages, especially J

John Howland- Research on parallelization of array programming languages, especially J

J Forum Archives- Discussion of the language

Retrieved from http://en.wikipedia.org/wiki/J_%28programming_language%29

 

End of Wikipedia content, http://en.wikipedia.org/wiki/J_programming_language

 

 

Web Resources for Programming Language Starting with J

 

§         J

·         J

·         Java Programming

o        JavaScript

·         JCL

·         JOVIAL

·         Joy

 

 

 

More eIT.in References

 

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

§         J

·         J

·         Java Programming

o        JavaScript

·         JCL

·         JOVIAL

·         Joy

 

Main Sections @ eIT.in

 

·          Free & Open Source Software

·          Operating Systems

o        Mainframe & Legacy Operating Systems

·         Midrange

·         Mainframe Operating Systems

·          Databases

·          Programming & Development Directory

o        Programming Languages

§         The A-Z of Programming Languages

§         A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z

·          Internet & Web

§         Web Servers

§         Application Servers

§         Server Side Scripting

§         Web Services

 

 

 

 

About eIT.in

 

eIT.in is a comprehensive directory for everything IT & Software. It contains over 500 categories, and well over 10,000 web resources

 

eIT.in provides directory and web links resources for the IT, software, programming & software development domains. It is intended to be useful for application, applications programmers & developers, software technology programmer & developer, databases software development, administrators & DBAs, application developers, strategy architect, design specialists and architects, migration, integration, customization consultants and customisation analysts, administration, maintenance & support professionals, outsourcing consultant, bespoke solutions programming developers & coders, project management & functional analyst, and for system administrators, testing & quality control engineers. It will make an effort to provide resources on tutorial/tutorials, guide, guides, tips, faq, faqs on these topics.

 

eIT.in content is available under GPL: All directory content at mainframe.in is under the General Public License (GPL). Under this license, anyone is free to copy & use any amount of directory content @ eIT.in, make changes to it and use it in any way they wish, as long as they also allow the same rights to anyone else for this content. The concept of GPL has been adapted from the GNU GPL of the Free Software Movement. To those who wish to use content from eIT.in, our only request is that they acknowledge the source and provide a link back to eIT.in. This is only a request!

 

Countries & Cities Where eIT.in Provides Assistance

 

eIT Cities: Bangalore, Chennai, Mumbai, Bhubaneswar, Mysore, Kolkaka, Delhi, Pune, Trivandrum, Hyderabad

 

You are the $$$ Section of eIT.in

 

Reference

 

GeoDig – Get Local!

 

Have you checked out the GeoDig directories for over 30 countries? GeoDig provides useful local and regional web resources for over 200 cities around the world. See the list of cities and countries for which GeoDig provides locality-specific web resources.

 

North America

USA - Alabama (AL) > Birmingham; Alaska; Arkansas (AR) > Little Rock; Arizona (AZ) > Phoenix, Las Vegas, Tucson; California (CA) > Los Angeles, San Francisco, Sacramento, Fresno, Bakersfield; Colorado, CO > Denver; Connecticut, CT > Hartford; District of Columbia, DC > Washington DC; Delaware (DE) > Wilmington; Florida > Miami, Orlando, Tampa, Orlando, Sarasota, West Palm Beach, Jacksonville; Georgia > Atlanta; Hawaii > Honolulu; Idaho; Illinois > Chicago; Indiana > Indianapolis; Iowa; Kansas (KS); Kentucky (KY) > Louisville; Louisiana (LA) > New Orleans, Baton Rouge; Maine; Maryland (MD) > Baltimore; Massachusetts > Boston, Springfield; Michigan > Detroit, Grand Rapids; Minnesota > Minneapolis-St. Paul; Mississippi (MS); Missouri (MO) > Kansas City, St. Louis; Montana; Nebraska (NE) > Omaha; Nevada (NV) > Las Vegas; New Hampshire; New Jersey (NJ) > Jersey City, Newark; New Mexico (NM) > Albuquerque; New York > New York, Buffalo, Rochester, Albany, Syracuse; North Carolina (NC) > Raleigh-Durham, Charlotte, Greensboro; North Dakota; Ohio> Columbus, Cincinnati, Cleveland, Toledo, Youngstown, Dayton; Oklahoma (OK) > Oklahoma City, Tulsa; Oregon > Portland; Pennsylvania > Philadelphia, Allentown, Pittsburgh, Harrisburg, Scranton, ; Rhode Island (RI) > Providence; South Carolina (SC) > Greenville; South Dakota; Tennessee (TN) > Knoxville, Memphis, Nashville; Texas > Austin, Dallas, Houston, San Antonio, El Paso, Austin, McAllen; Utah (UT) > Salt Lake City; Vermont; Virginia (VA) > Norfolk, Richmond; Washington > Seattle; West Virginia; Wisconsin (WI) > Milwaukee; Wyoming

Canada - Vancouver, Montreal, Toronto, Calgary, Ottawa-Gatineau, Edmonton, Quebec City, Winnipeg, Hamilton, London

 

You are the $$$ Section of eIT.in

 

Europe - UK - London, Glasgow, Manchester, Birmingham, Liverpool, Sheffield, Leeds, Bristol, Edinburgh, Leicester; France - Paris, Marseille, Lyon, Toulouse, Nice, Nantes, Strasbourg, Montpellier, Bordeaux; Germany - Frankfurt (Frankfurt am Main), Munich (München), Berlin, Düsseldorf, Hamburg, Cologne (Köln), Essen, Dortmund, Stuttgart, Bremen, Duisburg, Hannover, Nürnberg (Nuremberg), Dresden, Leipzig; Italy - Milan (Milano), Rome (Roma), Napoli (Naples), Torino (Turin), Palermo, Bologna, Firenze (Florence), Genova (Genoa); Spain - Madrid, Barcelona, Valencia, Sevilla, Zaragoza, Malaga, Murcia, Las Palmas, Bilbao; Scandinavia - Finland - Helsinki (Helsingin), Espoo, Tampere (Tampereen), Vantaa, Turku, Oulu, Sweden - Stockholm, Goteborg (Göteborg), Malmo (Malmö), Uppsala, Vasteras (Västerås), Denmark - Copenhagen (Københavns), Aarhus (Århus), Odense, Aalborg (Ålborg), Norway - Oslo, Bergen, Stavanger, Trondheim; Benelux - Belgium - Brussels (Brussel), Antwerp (Antwerpen), Ghent (Gent, Gand), Charleroi, Liège (Liege), Netherlands - Amsterdam, Rotterdam, Utrecht, Eindhoven, Tilburg, ‘s-Gravenhage (sGravenhage), Groningen, Luxembourg - Luxembourg City; PortugalLisbon; GreeceAthens; HungaryBudapest; PolandWarsaw; Switzerland - Zürich (Zurich), Geneva (Geneve, Genève), Basel, Bern (Berne), Lausanne; Austria - Linz, Vienna (Wien), Graz, Linz, Salzburg, Innsbruck; IrelandDublin

 

Asia - India - Mumbai, New Delhi, Bangalore; China & Hong Kong - Hong Kong, Beijing, Shanghai, Tianjin, Wuhan, Shenyang, Guangzhou, Harbin, Xian; Japan - Tokyo, Osaka, Yokohama, Nagoya, Sapporo, Kyoto, Kobe, Fukuoka, Kawasaki, Hiroshima; South Korea - Seoul, Pusa, Taegu, Incheon, Taejeon, Taiwan - Taipei; Malaysia - Kuala Lumpur; Singapore; Russia - Moscow, St Petersburg

 

You are the $$$ Section of eIT.in

 

Middle East - Turkey - Istanbul, Israel - Tel Aviv

 

Oceania - Australia - Sydney, Melbourne, Brisbane, Perth, Adelaide

 

Africa - South Africa - Johannesburg, Cape Town, Durban

 

 

 

 

© 2006, From eIT.ineverything IT is in Here

 

eIT.in is a product of eSource India & Sourcing India

 

Other eSource & Sourcing sites: IT & Software (Dir, SAP), BPO, Chemicals, Textiles, Plant Oils, dotMobi, Billion Dollar Questions,

Biodiesel Encyclopedia, Linens, ideOS, Follars – Free, Open-source Dollars, Quali5.com – Own A Keyword Forever, AntiSE, Serkai, Leather & Hide, GeoDig