Wednesday, February 24, 2016

16 Java And Programming Quotes To Motivate Yourself

 Knowing the great people of your field is a great motivational factor. It can help you push yourself to limits, you can excel your skills in what you are doing. One of the fundamental belief of Agile development methodology is to create highly motivated developers. The only way programmers can keep themselves motivated is by looking at what your colleagues are doing, listening to great renowned developers and reading programming stories. Quotes can push to limits. Today we are sharing some timeless quotes from rest programmers who have done immense contribution to Java and programming community

“It is not enough for code to work.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

“I’m not a great programmer; I’m just a good programmer with great habits.” - Kent Beck

“Truth can only be found in one place: the code.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

”We want to get engineers to think about something else.” - James Gosling, Creator of Java

“Responsibility cannot be assigned; it can only be accepted. If someone tries to give you responsibility, only you can decide if you are responsible or if you aren’t.” - Kent Beck, Extreme Programming Explained: Embrace Change

“It is far easier to design a class to be thread-safe than to retrofit it for thread safety later.” - Brian Goetz, Java Concurrency in Practice

“What would happen if you allowed a bug to slip through a module, and it cost your company $10,000? The nonprofessional would shrug his shoulders, say “stuff happens,” and start writing the next module. The professional would write the company a check for $10,000!” - Robert C. Martin, The Clean Coder

“Slaves are not allowed to say no. Laborers may be hesitant to say no. But professionals are expected to say no. Indeed, good managers crave someone who has the guts to say no. It’s the only way you can really get anything done.” - Robert C. Martin, The Clean Coder: A Code of Conduct for Professional Programmers

“Locking can guarantee both visibility and atomicity; volatile variables can only guarantee visibility.” ― Brian Goetz, Java Concurrency in Practice

“One advantage of static factory methods is that, unlike constructors, they have names.” - Joshua Bloch, Effective Java Programming Language Guide

“Redundant comments are just places to collect lies and misinformation.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

“Do The Simplest Thing That Could Possibly Work” - Kent Beck

“Duplication is the primary enemy of a well-designed system.” - Robert C. Martin, The Robert C. Martin Clean Code Collection (Collection)

“Just as it is a good practice to make all fields private unless they need greater visibility, it is a good practice to make all fields final unless they need to be mutable.”- Brian Goetz, Java Concurrency in Practice

“A long descriptive name is better than a short enigmatic name. A long descriptive name is better than a long descriptive comment.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

“The ratio of time spent reading (code) versus writing is well over 10 to 1 … (therefore) making it easy to read makes it easier to write.” - Robert C. Martin, Clean Code: A Handbook of Agile Software Craftsmanship

5 Tricks Every Google Chrome User Should Know

 Google Chrome is the most user preferred web browser on all the platforms. Chrome has been a great success story for Google since its launch in 2008. The browser was meant to be lightweight and user friendly right from it’s first version. Over the years, Google has added many powerful features to Chrome. 


1. Guest Browsing

If you are lending your laptop to somebody else, you definitely don't want him to mess around your Facebook account or see the URL suggestions in omnibox. You can protect all your browser data by enabling Guest mode. You can enable it by checking the tick box under People in Settings. Click on your username and choose Switch Person and select Browser as Guest.

2. Fit more items in the bookmark bar

If you are a heavy internet user, your Chrome bookmarks bar can get crowded and bloated. You can delete the description of pinned sites to free up the space. This will get you a row of compact icons to launch your favorite sites. You can do so from bookmarks manage inside Chrome. Edit the relevant bookmark entries by removing everything in the title field.

3. Do your sums in the omnibox

The Chrome omnibox is full of hidden features. You can make quick math calculations right from Omnibox. It also helps you with unit conversions. Simply type a simple bit of maths or unit conversion like, “50 feet to inches” and the answer will appear underneath without you hitting enter key. All simple maths, temperature, distances and weight conversions work natively.

4. Learn more about sites you visit

Have you ever wondered about a little yellow icon that looks like padlock or blank sheet of paper in the omnibox? If you click on this icon, it shows the wealth of the webpage that you are on. It also shows security credentials, origin of the site, permissions that you have previously granted it and existing cookies stored by the site.

5. Go back further

There is a very simple yet useful trick that you have not have explored. If you click and hold the back button, you will get the little list of your recent browsing history for the tab. It can save your few clicks. If you want to see everything in details, you can select ‘Show Full History’ that appears in the bottom of this list. The same trick works for forward button as well. 

Top 10 Java Questions Asked During Job Interview

Java has been at the heart of all technologies. The programming language is being used by large community of developers across the world. Many of today’s leading technologies use Java at the core. Most tech organizations demand the throughout knowledge of Java for software engineer candidate. Today we have compiled the list of Java questions asked during job interview.





1. What if the main method is declared as private?


Answer: The program compiles properly but at runtime it will give “Main method not public.” message.

2. What is meant by pass by reference and pass by value in Java?

Answer: Pass by reference means, passing the address itself rather than passing the value. Pass by value means passing a copy of the value.

3. If you’re overriding the method equals() of an object, which other method you might also consider?

Answer: hashCode()

4. Why oracle Type 4 driver is named as oracle thin driver?

Answer: Oracle provides a Type 4 JDBC driver, referred to as the Oracle “thin” driver. This driver includes its own implementation of a TCP/IP version of Oracle’s Net8 written entirely in Java, so it is platform independent, can be downloaded to a browser at runtime, and does not require any Oracle software on the client side. This driver requires a TCP/IP listener on the server side, and the client connection string uses the TCP/IP port address, not the TNSNAMES entry for the database name.

5. What is the Java API?

Answer: The Java API is a large collection of ready-made software components that provide many useful capabilities, such as graphical user interface (GUI) widgets.

6. What is the GregorianCalendar class?

Answer: The GregorianCalendar provides support for traditional Western calendars.

7. What is the ResourceBundle class?

Answer: The ResourceBundle class is used to store locale-specific resources that can be loaded by a program to tailor the program’s appearance to the particular locale in which it is being run.

8. Why there are no global variables in Java?

Answer: Global variables are globally accessible. Java does not support globally accessible variables due to following reasons:
The global variables breaks the referential transparency
Global variables create collisions in namespace.

9. What is the SimpleTimeZone class?

Answer: The SimpleTimeZone class provides support for a Gregorian calendar.

10. What is explicit casting?

Answer: Explicit casting in the process in which the complier are specifically informed to about transforming the object.

Source : javacodegeeks.com 

9 predictions for the future of programming

Some scientists say time moves forward at a constant rate. The clever ones argue that everything changes near the speed of light. But none of this explains the increasing rate of change in the world of tech. It keeps accelerating a bit more every time you look.

If you’re wondering where to place your next development bet, looking five years out can seem like mere guesswork. Anticipating tech’s future is nearly impossible, much less the skills and tools that will be relevant given the impact of innovations to come. But there are inklings that can be gleaned from the tea leaves of today’s tech landscape -- glimmers of the future of programming through the fog.

Here we gather a list of projections for programming’s future based on today’s most intriguing evolutions in tech. Not all are guaranteed to come true; not all are even guaranteed to be new. Many are trends that started unfolding several years ago. And if you compare this list to our previous foray into prognostication, you might find a bit of backsliding. Despite this, these predictions offer a solid road map that will help us plan for the future as it unfolds before us, faster and faster.

Prediction No. 1: REST rules IoT -- at first


The REST protocol has taken over the Web and it’s bound to maintain this dominance, as every thermostat, doorknob, and kitchen doodad vies to become a full-fledged, packet-swapping member of the Internet. They don’t call it the SCSI, USB, or SATA of things, do they?

The reasons are obvious. Programmers love REST’s simplicity. Thanks to its basic architecture, REST is easy to understand and relatively simple to debug. There’s nothing quite like having all the data in text form to make it that much simpler to figure out what’s happening. Don’t be surprised when that new security camera, microwave oven, or rotary nose-hair clipper boots up with Nginx running on port 80, reporting all of the latest news of the device in HTML and CSS.

Prediction No. 2: Binary protocols rise again


Passing data back and forth in JSON packets with REST protocols may be simple, at least compared to the old world of XML data and its 90 percent payload of tags, but some superefficient programmers have been left to wonder why they must convert binary data into a string so that it can be represented correctly in JSON. After all, the other side is only going to parse the string and turn it back into bytes. Why not ship the bytes directly -- especially if the Internet of things is going to be phoning home all the time with only a few bytes of data?

Building more binary protocols will be an uphill climb. The HTTP standards seem inherently textual. Many programmers have had bad experiences with proprietary binary protocols that can only be unpacked by proprietary libraries, which may or may not work as promised. The openness of JSON and REST has been winning, but that doesn’t mean an open approach to a binary protocol can’t bring efficiency to open standards. The Internet of things will generate more data than ever and many devices will use plenty of small packets that require tighter encoding. When that kind of performance is necessary, programmers will start looking for ways to add more binary efficiency to their packets.

Prediction No. 3: Video kills the HTML star


Once upon a time, we surfed the Web, jumping from website to website, grazing on text, and clicking through hyperlinks whenever we wanted to learn more. Now we binge watch for hours or even days, rising from the sofa groggy and lethargic when the episodes run out. If we touch the keyboard at all, it’s to search when the next “season” will be uploaded to Netflix. The Internet is morphing into television, and the video streams are paving over the interactive forking paths of text with a steady stream that does the thinking for us.

This isn’t completely true, and some even suggest the Internet is liberating television. People snack on television clips on some websites. I have no idea whether “Saturday Night Live” is still broadcast on Saturday night or if it’s ever really filmed before a live audience, but I do know that you can see each of the skits in a separate clip at a website. Does it still have an opening monologue? Is there still a guest host? Who knows?

But for all of this, there’s little for the couch potato to do except absorb moving images. There’s little clicking and barely any steering. Perhaps the next generation of video apps will add another layer and improve the tools that are already there. The death of Flash and the ascendance of HTML5 open up the possibilities to merge video clips with HTML. Maybe the programmers can take advantage of some of the opportunities. Until then, the users will be sitting there watching TV in much the same way that our grandparents did in the grainy old days, even if it is streaming from an Internet giant and not a three-letter national broadcasting company.

Prediction No. 4: Smartphones will do everything but phone calls


Does anyone talk on a smartphone anymore? We send text messages, read email, visit websites -- and that’s only the beginning. The little rectangular screens have been revolutionizing every part of our lives for more than a decade, and the changes are beginning to get interesting. As we add more sensors and find clever uses for the microphone, camera, and accelerometer, no business or hobby is safe.

Consider the old world in which medical assistance was delivered at a doctor’s office after waiting for hours. There are hundreds of startups looking for a way to turn the smartphone into a medical device. The microphone can pick up your heartbeat. The camera can look at the back of your throat. The accelerometers can track your exercise. All of these can be linked to a cloud full of doctors who can pass your case onto someone who specializes in what ails you.

Yes, the next generation of smart devices will make the current set look basic. The navigation apps are morphing into route reservation and planning apps that do everything but steer the car. The exercise tracking apps are becoming tools that track all of the rhythms of our body from sleep to work. And perhaps someone will still make apps that have something to do with the fact that these devices may or may not be used to make phone calls.

Prediction No. 5: Bigger, better databases will dominate


Sure the search engines indexed the Web, but now there are databases indexing the world itself, thanks to increasing demand from next-generation location-aware apps and autonomous cars. Apps such as Waze track the flow of all of their users, giving their developers and users a map of the world as it exists, not as it was drawn by a cartographer squinting at an aerial photograph. If a road crew blocks a lane, they know. If a cow stops traffic, they know. If a civil engineer adds a new road, they find out before almost everyone else.

The level of detail from databases such as these will be amazing. Autonomous cars, for example, will need to know the position of lampposts, newspaper vending machines, and fire hydrants if they are going to ever be prepared to spot that proverbial kid chasing a ball into the road. This data will be full of undiscovered promise, beyond autonomous cars. Cities will be able to resurface roads when and where they're needed. Streetlights will be readily replaced when they go out. And yes, the police will have more data than ever about the people walking on the streets.

Soon we’ll have databases recording the location of every pothole in the country. Will the cities fix them? That may be too much for this generation, but the robots are coming.

Prediction No. 6: JavaScript will dominate, but no one will write it


If we don’t write JavaScript, who will? Transcoding robots, that’s who. We’ll write our code in any of a dozen dialects and the transcoding robots will turn it into something that the browser or Node.js understands. More and more code on GitHub can’t run without being “compiled” by something.

The most prominent are pinky-saving dialects, such as CoffeeScript, that strip away much of the punctuation that bothers some programmers. There are dozens of variations on CoffeeScript, including Coco, IcedCoffeeScript, and CoffeeScript II: The Wrath of Khan. These are only the beginning because clever programmers have written transcoders for languages as diverse as Cobol, Java, Lisp, and C. All of them can now run in your browser after being lovingly translated and optimized for fast delivery and parsing. Why actually write in JavaScript when you can have your robot software concierge translate your favorite language?

Prediction No. 7: PHP will battle back against Node.js


... but only to preserve legacy apps from being rewritten. A few years ago it felt like PHP would gradually fade away as Node.js and JavaScript ate the server farm. That still might happen, but PHP is going down with a fight. The newest versions of just-in-time tools like PHP 7 and the HipHop Virtual Machine are offering dramatically faster performance. Because of this, codebases such as WordPress or Drupal are running 30, 40, 50, or even 100 percent faster.

This doesn’t change the other advantages JavaScript offers in devising in projects, like the way it enables the same code to run on the browser and the server, but it removes one of the biggest reasons for abandoning an old code base written in PHP in favor of Node.js. These old platforms will have new life after all.

Prediction No. 8: Everyone will know how to program -- but few will write “real code”


Education projects have everyone teaching everyone how to write software. On Dec. 8, 2014, President Obama took time out from fixing the Middle East and fighting terrorism to spend an hour learning how to write a single line of code. Did his hack fest make the roll out of the next generation of the Obamacare website any smoother?

The obsession with teaching everyone, including maybe someday our dogs and parakeets, to program will continue for years to come. The best strategy for real programmers is to smile and encourage them. The more the general population tries programming, the more they’ll realize how hard it is to juggle all of those numbers, APIs, and whatnot. It’s one thing to write a line of code as President Obama did. It’s another to build out an entire system with thousands if not millions of lines of code.

There will be some who pick up a language and soar, but many will pull out their hair and silently scream. Anyone can write a loop, but only a few can choose the right loop. Everyone learned how to cut wood as a kid, but they still call carpenters to build houses.

Prediction No. 9: The pointy-haired bosses will be even more insufferable


Now they’ve done it. The suits learned to write software in one of those Hour of Code sessions and now they want to help.

“Are you going to use a variable there?” we’ll hear. “Do you think a constant makes sense? I’m guessing you’re going to want to use a loop here. “

Just smile and thank them. It’s all you can do.

Wondering how we’ve fared thus far in our last round of predictions for the future of programming? Check out what our crystal ball told us two years ago, and weigh in on the comments thread with your verdict.

This story, "9 predictions for the future of programming" was originally published byInfoWorld.

Program the world: 12 technologies you need to know

Every startup talks about changing the world, but most aren’t talking about the world itself or physical things in it. Most simply want to swap data packets and place entries in databases -- potentially important bags of bits, but bags of bits nonetheless. The world, though, is made up of atoms.

The barrier between bits and atoms is disappearing, with programmers no longer confined to the virtual realm, in part thanks to the Internet of things becoming more real. Now we can do more than write ones and zeros to a disk: We can actually write code that tells a machine how to extrude, cut, bend, or morph atoms. Now our software can turn on lights, change the look of a room, steer a car, move a wall, or more.

Today, many of the new markets and opportunities for developers live in the real world. Rapidly developing domains such as autonomous cars, smart homes, intelligent office spaces, and mass customization require programmers to be savvy about how changes in data structures can lead to changes in objects. If the term “object-oriented programming” weren’t already taken, it would be perfect.

These jobs require new languages or, if they’re not officially new languages, new protocols that work with older languages. Changing the world means learning how these languages and protocols work and how to deploy them. If you’re looking to really change the world, here is a partial list of languages and protocols to master. Once you start flipping bits that change the world, it’s hard to go back to mere databases.


Basic



One of the classic languages that drove the early microcomputer revolution lives on in the minds of some simple hardware controllers. The folks who make the ESP8266 controller board use the language because, as they say, it is “a simple but powerful language that lets you do amazing things without needing a degree in computer science.”

All the classic structure is there, including that old bugaboo: goto. But there’s also newer commands for fetching Web pages or sending email. Most of your time will be spent polling pins on the interface, though, to gather data to be passed on to the Internet.

For more information, see the ESP8266 community or the website devoted to the language.


X10


X10 is the original tool that allowed programmers to break out of their virtual world and touch the real one. It’s never been a complicated or elaborate protocol, perhaps because it dates back to 1975, a year before Steve Wozniak and Steve Jobs released the Apple I. Despite its age, it remains popular because so many low-cost devices support it.

The protocol has only a few major messages. You can send a few bits to the switches and ask them to turn themselves on, off, a bit brighter, or a bit dimmer. That’s about it. There are a few more options to poll remote switches and embed a bit more data, but most of the work seems to be switching things on and off. These packets travel over the 120V power lines of a house and must be created by a separate device such as the FireCracker made by X10.

A number of software projects such as Flipit and Bottle Rocket simplify the process of working with the FireCracker. Or you can work with the original master, X10, the company that proclaims it has been ordering around home gadgets since 1978.


Insteon


In 2005, the Insteon company launched a protocol meant to replace the X10 protocol by offering bigger messages and better transmission. Many reported that X10 signals were often lost in larger houses or those with more complex wiring. Others complained the signals were affected by noise. Thus, Insteon added a mechanism where each node or switch also acts as a repeater, ensuring that the signals will travel farther and reach deeper into the corners of the electrical wiring. It’s a clever trick that spreads the signals everywhere.

The protocol is also much richer, complex, and redundant. Instead of only two bits of commands, the Insteon packets stretch out to be 10 bytes with two entire bytes devoted to commands. If you’re feeling like a big spender of bandwidth, you can mix an additional 14 bytes of data into the packets going to your devices. The major commands are still focused on turning things on and off, but there are some options for polling sensors and creating a smart thermostat.

Insteon’s protocol is used by a number of smart hubs or home automation tools such as Amazon’s Echo or Logitech’s Harmony. Several open source tools such as the Linux Home Automation project and OpenRemote will integrate with the power line controllers used to send the packets.


Zigbee, Z-Wave, and more


X10 and Insteon merely scratch the surface. There are many more approaches to sending signals to devices, sometimes over power lines, sometimes wirelessly. Both Zigbee and Z-Wave are low-powered, wireless standards for communication between devices, especially the kind of low-powered, embedded sensors and processors that might be spread around a business or a home.

Zigbee, for example, recently announced that supermarkets are experimenting with temperature sensors for monitoring produce sections in hopes of ensuring that fruits and vegetables don't spoil. One section of Z-Wave's website describes devices delivering "dignity at home" via a wireless button that makes it possible for older or weaker people to call for help if they should happen to fall. There are hundreds of applications like these that need to send only a few bits of data at a time.

Zigbee and Z-Wave are not the only standards. The growing list includes Panstamp, AMX, KNX, Lutron, and more. Some target niches; AMX, for instance, focuses on the audio-visual devices that enhance conference rooms. Panstamp is aimed at small, wireless controllers that are deeply embedded in the world. All use their own format but might interact with a bit of extra programming. The cornucopia of competing standards may be confusing for programmers, but it's better than no standards at all.


XBMC, Freebox, and more


It’s a bit of a stretch to say that someone sitting on a sofa watching the idiot box is changing the world, but there’s no doubt that digital images, videos, and audio are breaking out of their traditional roles as entertainment. A number of the protocols and frameworks such as XBMC, Freebox, and VLC were traditionally designed to spoon-feed video to a lounging couch potato, but they have uses throughout the house or building.

These audio-visual devices may not seem like they’re doing much to change the world because they’re largely juggling digital content files, but they’re becoming more concrete as we cover the world with flat-panel displays. The buildings in Times Square, for instance, change their appearance based on which images are displayed on the screens. More screens means that digital content isn’t only something to watch on your phone. It’s a way to repaint a building or redesign a room.


PostScript


Many people don’t understand the complexity of the data structure used to store data in PDF files or send a page of text to a printer. The data inside a PostScript file isn't merely a list of letters but a program for moving a pen around the page and drawing letters, lines, numbers, and shapes. The language has primitives for moving the pen along straight lines or Bézier curves and then filling in the shapes. The fonts aren’t only bitmaps but complex collections of curves that are easy to scale or position with subpixel accuracy.

The language itself is a ’70s-era artifact, with a stack-based syntax that saves on parentheses. Anyone who learned to use an HP calculator will feel right at home. The language is Turing complete and people have written PostScript code to calculate complex fractals and other weird things -- oh, and viruses.

Today, the language often takes a backseat to SVG because this XML variant is widely supported on the Web. But the structure underneath is similar and conversion is straightforward. Both of these languages can be turned into the codes used to drive laser cutters and milling machines through a variety of packages like PSToEdit.


OBD-II


It’s been years since a car was simply a gas tank, some pistons, and a crankshaft with gears for redirecting the force of the explosions to the rear wheels. Today’s cars are complex networks of multiple computers that happen to have four wheels. The OBD-II standard is the way that mere mortals can interact with the car and find out what is going on.

Much of the codes that travel between the computer and the car are purely informational. You can, for example, send a few bytes to the port underneath the steering wheel and it will return the current speed. There are similar codes for RPMs, engine efficiency, and dozens of other numbers. Many basic apps such as Torque will poll the OBD-II port to track your car.

The apps are very popular with amateur racers and gearheads, but they can be useful for others. The ArduinoOBD library is one of several good options for connecting your computer to your car.


G


Computer Numerical Control, aka CNC, of milling machines began in the 1950s and engineers quickly developed G, a language for specifying how the cutting tools should move. The process is a bit counterintuitive at first because the code controls what is removed from a solid instead what is added, but once you invert how you think about the end result, you can start imagining how moving a sharp, spinning bit will cut what you want.

Much of the coding involves choosing your coordinate system and arranging for the cutting bit to move to particular places. The machines can often “interpolate” and compute the midpoints along a straight line or a circle, making simpler shapes relatively easy to create. Complex shapes, though, take a bit of planning.

The nature of G has changed markedly over the years as manufacturers add their local enhancements. Many now use more modern macros and object-oriented layers that are compiled down to the raw G code sent to the machines.

Today, a variant of G will drive many 3D printers. The codes aren’t exactly the same, but the core of language is.


STL


The standard format for describing 3D objects is the lingua franca for the 3D printing world. Online stores sell virtual objects by delivering STL files that you can either edit or send straight to the 3D printer.

The language itself is quite basic. Most of the file is composed of three-dimensional coordinates for the corners of the triangles that form the facets that cover the surface of an object. Although the format seems to support more complex polygons, the files traditionally hold triangles. The file format itself does not require the triangles to fully cover a solid or define every part of the surface, although that is a requirement for building a 3D part.

The STL files can either contain an ASCII representation of the points or a binary version, but most seem to exchange the binary versions because they are more compact.


Slicer


STL files do not contain enough information to drive a 3D printer, so the triangles must be converted into a list of instructions for moving the 3D printer head and turning the extruder on and off. The printers generally use GCode, aka Slicer, which is similar to the GCode fed to CNC milling machines. The biggest difference is that the code is additive, building up the part from scratch, whereas CNC machines are subtractive, carving the part out of a solid starting block. Many of the instructions for positioning the printer head are the same, but there are new ones for turning on the extruder.

A number of Slicer programs exist, both open source and proprietary. Some include sophisticated IDEs for editing the object before printing it. The KISSlicer, for instance, comes in a free version that works with single-head printers and a pro version that supports more sophisticated printers with multiple heads.


Python


The language is a favorite in biology labs, in the social sciences, and throughout the Raspberry Pi community where it is the “official language.” This is overselling it a bit because Raspberry Pi boards usually boot directly to Linux, and much of the Linux code base can run on the boards, but only if it compiles directly to the ARM (v6 or 7) architecture.

Still, Python remains a favorite with good reason. It offers a high-level language with a clean syntax and fairly forgiving rules for passing data around. The programmers don’t need to get lost in deep abstractions such as closures or memorize complex rules about pointers. They simply write a set of instructions for processing numbers and using these values to tell the Raspberry Pi what to do.

The Raspberry Pi community offers extensive documentation on learning Python from scratch.


Processing


The world of robotics and real things is filled with Arduino boards that speak Arduino’s language, a subset of C and C++. Many programmers, though, want something a bit simpler, which may be why a language called Processing has caught on. It’s a simplified subset of Java that leaves out many of the gnarly details of classes while adding a number of standard methods that help draw results and flip switches. Java programmers may find it fascinating to look at how Processing is built on the old AWT Applet and Frame, but the rest of the world will simply want to write some loops and change the code.
Processing code usually runs on the host computer, which sends instructions to the Arduino, which runs a local interpreter such as Firmata. The development occurs on the host machine, but the work is done on the Arduino.

Processing has also found a home in mobile app development and as a foundation for Web apps thanks to a version of Processing written in JavaScript. Khan Academy uses it to teach computer programming.