Govt launches Indian Sign Language mobile app ‘Sign Learn’ with 1,000 words

The Centre on Friday launched an Indian Sign Language (ISL) dictionary mobile application called ‘Sign Learn’ containing 10,000 words.

The app was launched by Minister of State for Social Justice and Empowerment Pratima Bhoumik.

Sign Learn is based on the Indian sign language dictionary of the Indian Sign Language Research And Training Centre (ISLRTC) which contains 10,000 words.

The app is available in Android as well as iOS versions, and all the words in the ISL dictionary can be searched through Hindi or English medium, officials said.

The sign videos of the app can also be shared on social media.

“The app has been developed to make the ISL dictionary easily available and to make it more accessible for the public at large,” a senior official said.

Notably, ISLRTC had recently signed an MoU with the Council of Educational Research and Training (NCERT) on October 6, 2020 for converting NCERT textbooks from classes 1 to 12 into the Indian Sign Language (digital format) to make the textbooks accessible to children with hearing disabilities.

This year, ISL e-content of NCERT textbooks of class 6 was launched, the official added.

Under Azadi ka Amrit Mahotsav, the Centre had launched ISL versions of selected books of Book Trust’s ‘Veergatha’ series.

With the joint effort of ISLRTC and NCERT, 500 academic words in Indian Sign Language were launched. These academic words are used at the secondary level which are often used in history, science, political science and mathematics, the official added.

(Only the headline and picture of this report may have been reworked by the Business Standard staff; the rest of the content is auto-generated from a syndicated feed.)

Top five mobile applications to learn a new language

Do you want to learn a new language? There’s a mobile app for that. Whether you’re planning a fun trip overseas or want to do something interesting with your spare time, a language app will help you expand your vocabulary. Also, you can learn appropriate grammar and become fluent through simple lessons — all from the ease of your phone or pc.

The most excellent language-learning applications are also cost-effective, especially compared to traditional schooling or private language instruction. Many of them have voice recognition, which is essential for sound pronunciation. Others have several language selections, which is good for learning multiple languages.

Many language learning apps can help you learn a new language. Review these options to find the best one for you.


For a good reason, Duolingo is the most famous language-learning program today. The program provides free game-like courses to help you learn over 35 other languages. The app employs science-based teaching methods to assist you in learning a language. Lessons are tailored to your education and work on a wide range of language abilities.

Lessons are progressive, which means that each builds on the previous one. You can’t progress until you’ve completed each step by answering all the right questions. If you go away from the app for an extended time, it will need you to repeat the required courses to ensure your abilities haven’t become rusty.

Duolingo has more than 1.2 million reviews on the app store, which speaks for itself.


  • It’s free to learn a language.
  • Features that will help you stay motivated
  • Lessons can finalize in a matter of minutes.


  • Less content for languages that aren’t as widely spoken.
  • You must learn subjects in a specific order.
  • There are few opportunities for real-world practice


Pimsleur is a popular language-learning platform built to help you study by listening, unlike the other language learning applications that offer on-screen interactive games. Because Pimsleur employs an audio format, it’s simple to learn during the day. Listening to native speakers also aids in the rapid acquisition of vocabulary and listening comprehension.

The premium plan from Pimsleur is a little more costly than its competitors. You’ll spend $19.95 per month to study English after a seven-day free trial. Pimsleur promises that you can learn another language in as little as 30 days.


  • It’s simple to pick up on the fly.
  • Gain knowledge from native speakers
  • A total of 50 languages are available to pick from.        


  • Subscriptions are costly
  • Visual learning is limited
  • Doesn’t aid reading or writing abilities

For beginners, this is a good option. It’s an excellent app for learning new words. You’ll be forced to repeat the terms you’ve already learned until you’ve mastered them completely. Because it is simple to use, this software will be the perfect alternative for folks who are not tech-savvy.

Select a language, then a stage, open an account, and log in. Over 42 million individuals use Memrise in 189 countries to study languages. There are over 20 languages to select from. There are also offline courses available.

4.9 stars in the App Store, 4.6 stars on Google Play. Some classes are free, but you must subscribe to Memrise Premium ($8.99 per month) to access the entire program.


  • Courses that are not online
  • A method of interval repetition


  • only teaches words, not their meanings
  1. BUSUU

Buss assists you in learning at your present level of language acquisition and matching you with a native speaker mentor. It offers a modern, user-friendly UI. And over 1,000 lessons prepared by professional language experts are accessible on Busuu. It serves as a reminder. It will bring up the words which you have more trouble remembering. It also has a feature that helps to track your achievement.

Busuu’s language selection is limited, with only 12 languages available at all levels. McGraw-Hill Education credentials are available to Busuu Premium members.

4.9 stars in the App Store, 4.4 stars on Google Play. The app is free, but Premier and Premium Plus subscriptions are available for $6 and $7 a month.


  • Encompasses all levels of expertise
  • Assistance from natives


  • The majority of the functions are for a fee.
  • limited language option.

This software is for you if you can properly recreate all grammatical aspects but can’t speak properly in a live dialogue. HelloTalk is a social networking app for mobile devices. With over 18 million users, it has a worldwide culture and language exchange community.

Live conversation, news, and photo exchange will assist you in putting your newly acquired skills into practice. Freephone calls and direct voice messages are available. This software supports more than 150 languages.

4.7 stars in the App Store, 4.4 stars on Google Play. Editors’ Choice is the title given to it on Google Play. A monthly subscription to HelloTalk is available for $2.99 a month.


  • Establishing international friends
  • Less expensive than others
  • An option for integrated translation.


  • The translation feature isn’t always reliable.

Other articles from – –

Caerula Mar Club a new standard in paradise – South Andros Bahamas


Hottest bikini’s for 2022 – SHAN Collection from Montreal

New Zealand students prototype their own Samoan language app with iPad

After brainstorming ideas and creating wireframes for their app, the students divided into content creation teams, sketching illustrations with Apple Pencil, creating animations in Keynote, and recording voice overs using the iPad’s built-in microphone.

Testing was also an important part of the process. “This is where we discovered bugs in our prototype, and got feedback on how we could improve our app,” says Amelia Abohay, a year 6 student. “A lot of different groups around our school helped by telling us what they liked and didn’t like, and giving us ideas for how we could make it even better.”   

The Digi Navigators also met with a Gagana Sāmoa expert from their community. “This was really valuable because he gave us feedback on our pronunciation, and even more ideas about what we could include,” Amelia says. 

Ole autu o lo’u o’o mai (The pitch)

“My mission is to inspire a new generation of Pacific nations and Māori leaders in the tech industry,” said Togiaso. “These groups are underrepresented in tech today, and we have so much to offer. I want our kids to see careers in tech as a genuine pathway in their future.”

In September 2020, the Digi Navigators were invited to pitch their idea at an event designed to increase opportunities for the next generation of Pacific nations tech innovators. In front of an audience of 50 local tech experts, investors, and teachers, five Digi Navigators presented their business case, demonstrated the app prototype, and answered questions from the crowd. They also received feedback from a local angel investor that has promised to provide continued support and mentorship to grow their idea.

“It was really cool to be able to teach our friends to speak Samoan using an app that we designed ourselves,” says Leonie Bradbrook, a year 6 student. “I would love to create more apps and help my friends.”

Why Google’s Dart programming language and Flutter are growing so fast

  • Dart, a programming language built by Google and used for mobile development, was named by GitHub last year as the fastest growing programming language, as it grew 532%.
  • Its growth has been driven by Flutter, a toolkit built by Google that makes it easy for developers to design how apps look and feel and make changes in real time.
  • Dart and Flutter have become popular among companies like eBay and Groupon for building mobile apps, and it’s also picked up plenty of growth from Chinese giants like Alibaba, Baidu, ByteDance, and Tencent.
  • Visit Business Insider’s homepage for more stories.

In 2011, Google launched a programming language called Dart to help engineers develop apps. That language ultimate became the “secret sauce” of an open source toolkit called Flutter that Google launched in 2017 to help users design the look and feel of mobile and web apps. 

Dart’s popularity has skyrocketed since:  

Last year, the open source project hosting platform GitHub named Dart the fastest growing programming language, as its usage grew a massive 532% on its site between October 2018 and September 2019 (GitHub did not disclose data for fastest growing programming languages this year).

Flutter and Dart let developers create fast, elegant, and useful apps and make it faster and easier for designers and developers to collaborate, including seeing changes in real-time.

Today, major companies like eBay, BMW, Square, Groupon, Capital One, and of course, Google itself use Flutter and Dart to create their apps. The duo has also taken off in China, with giants like Alibaba, Baidu, ByteDance, and Tencent using them too. Currently, the Google Play store has about 125,000 apps built with Dart and Flutter, according to Google. 

“You’re seeing a lot of other companies begin to experiment,” senior Flutter developer and technical lead at eBay, Larry McKenzie, told Business Insider. He added that even banks or businesses that traditionally don’t have a “strong engineering depth” are learning to adopt Flutter.

An August survey from the Flutter team showed that the percentage of its users working for enterprise companies rose from 26% to 31% between May and August.

Here’s how Dart and Flutter began at Google and how they rose to popularity thanks to a surge in demand for mobile apps:

How Google built and uses Dart to make sure its apps are ‘battle-tested’

Google began building Dart in 2011 to see if it could increase the speed of development and scripting, which lets a program automatically execute tasks. The language is designed for large-scale applications and also works with JavaScript, the most popular programming language for web development. 

“We started building this framework just as an experiment and discovered you can build some good experiences that leverages learning for the web,” says Google’s director of product management for Flutter and Dart, Tim Sneath. 

Google has since used Dart to build some of its largest applications, including Google Pay’s app, the company’s ad selling platform Google Ads, and the companion app for the gaming platform Stadia.

“That gives us confidence as we ship to other external customers,” Sneath said. “They can rely on Dart because it’s battle-tested.”

In 2014, Google also started Flutter as “a bit of an experiment,” says Sneath. Initially, it was called Sky and still used JavaScript, but the team realized that Dart was a better fit. Flutter allow developers to easily design how their apps look, work, and feel. It lets them “have control of every pixel on the screen,” Sneath says, and includes customizable widgets for features like scrolling, navigation, icons, and fonts.

Because Flutter works across any platform, developers don’t need to worry about designing different versions of their app for different types or generations of devices.

“You as a designer have a lot more control over the visuals,” Sneath said. “You’re never limited by trying to maintain compatibility on these old iPhone and old Android devices, so that you can build with the widgets, design and visuals you want.”

Notably, Flutter also uses a technique called “stateful hot reload,” which allows developers to see what the changes they make would look like in their app in real-time. 

For example, a designer can sit with a developer, make suggestions on what to tweak, and then see those changes happen, live, as the developer makes changes in the code. The feedback loop between designers and developers thus becomes much tighter. 

“Flutter is a canvas for [developers’] wildest dreams,” Sneath said, “And we want to make that possible for them.”

Jamie Iannone ebay

EBay CEO Jamie Iannone.

Harry Murphy/Sportsfile for Web Summit via Getty Images

How companies like eBay and Groupon use Dart

When Google released the 1.0 version of Flutter in December 2018, eBay was building its Motors app, used for buying and selling cars and car parts.   

As the team evaluated what was required to build the app, they ultimately decided to use Flutter because it was the best technology that met all of its requirements, like speed and compatibility for different mobile devices. The team would conduct workshops to try out Flutter and learn Dart. 

These tools made it easy for developers to build the Motors app. For example, the team built an image gallery feature with Dart for the Motors app that let it categorize images of cars that are listed on eBay. 

“It’s a technology choice we made that we felt would help us move quickly,” McKenzie said. “It’s been really successful so far.”

Likewise, Groupon in the last year has worked to improve its tools for merchants and small businesses and has used Dart to develop mobile applications that lets merchants manage their business interactions, whether they need to set up individual campaigns or handle payments. 

The team was looking for ways to speed up releasing its code, so it looked into various platforms, including Facebook’s React and Flutter. Some teammates who work on mobile applications had been reading about Dart and Flutter, so they brought the idea of using it forward. 

The team ended up deciding on Flutter because it was easy to use and easy to get designers involved. Also, Groupon CTO John Higginson says it’s faster than other options, including Facebook’s open source mobile application development software React Native.

Groupon Workers Office

Workers work on projects at Groupons international headquarters on June 10, 2011 in Chicago, Illinois.

Scott Olson/Getty Images

Also because Dart is similar to Java – a programming language that Groupon largely uses — it was easy for engineers to pick it up. 

“It’s a language that’s familiar enough,” Higginson said. “It doesn’t require a ton of learning or retraining to be productive.”

Engineers can use Flutter and Dart to write mobile applications that work for both iOS and Android. 

“For the ecosystem itself with Dart and Flutter, we really like the ability to create compelling user experiences,” Higginson said. 

Why Dart is growing so fast

For engineers, Dart is an entry point to building mobile applications and large companies look to Flutter to make mobile app development easier – both of which have driven Dart’s popularity. 

As Higginson mentioned, Dart is also not hard to learn. eBay’s McKenzie said there was no learning curve for his team:

“It’s pretty easy to learn and pretty easy to write,” he said. “That means you spend a lot less time explaining the language to people. You have a lot less complicated code.”

In addition, the enthusiasm of the open source community has helped Dart and Flutter grow into one of the largest software projects on GitHub, according to Google’s Sneath. Meetups on Dart and Flutter have emerged worldwide. The Flutter Interact conference had 150 people attend last year, but over 800,000 tuned in virtually and over 10,000 attended community groups related to the conference. 

Google has also been especially helpful in providing resources and new functionalities for using Dart and Flutter, which has helped it grow quickly, Groupon’s Higginson says.

But the top reason Dart has grown so fast, according to McKenzie, is because it’s enjoyable to use. It allows fast development cycles, allowing engineers to get instant feedback, making the experience “a lot more fun,” he said.

“Users really loved it,” McKenzie said. “That’s the type of thing that really is driving a lot of this growth, because you start to have time to think about it, play and experiment, and do things you haven’t done before.”

Flutter has become popular in China and, more recently, India, which even overtook China as the country with the most Flutter developers.

The future of Dart

The industry is on the cusp of a new generation of programming languages, Groupon’s Higginson says, and Dart’s surge in popularity proves it. Today, Java and Python are widely used, but Higginson predicts that Dart, Rust, and Elixir will be more popular in the future. 

Right now, Dart is mostly centered around mobile development, but Higginson can see it becoming more of a general purpose language, similar to how Python expanded dramatically from its roots in data analysis. Already, developers can use Dart for building payment services, data models, desktop applications, and more. 

Read more: Python has overtaken Java as one of the hottest programming languages in the world, according to GitHub. Here’s how a boom in AI jobs is helping developers use the easy-to-learn language to land six-figure salaries.

McKenzie only expects Dart’s trajectory in usage and adoption to continue.

“The development experience using Dart is so superior to that of traditional Android and traditional iOS development that once you try it,” McKenzie said, “You never want to go back.”

Got a tip? Contact this reporter via email at [email protected], Signal at 646.376.6106, Telegram at @rosaliechan, or Twitter DM at @rosaliechan17. (PR pitches by email only, please.) Other types of secure messaging available upon request.

Python vs Java: Which language should you learn and what are the differences?

Python vs Java

Both Python and Java frequently top lists of the most in-demand programming languages among employers. These are powerful, flexible, and object-oriented languages that are commonly used across organizations and in a wide variety of other settings.

This may lead you to ask the inevitable question: which is better? Or at least, which one should you learn?

Also read: I want to develop Android apps: what languages should I learn?

This is a complicated question, seeing as the two languages are actually quite different (it’s never that simple!). So read on, and we’ll unravel the question of Python vs Java to see which is best for you.

Python vs Java: structure and design

First, let’s take a look at how Python and Java are written and how this affects the experience of programming.


Python and Java are both considered to be “object-oriented” programming languages. This means they allow developers to create data objects through classes. While this is a complex concept for a beginner to get their head around, it effectively allows for very efficient and well-designed code. Classes are modular by nature and allow for very scalable programs that can do a lot with less code.

Java and Python are object oriented

But if you’re still scratching your head asking how data can be an “object,” then you have run into the first problem with object-oriented programming: it’s confusing for beginners!

That’s why many people love the fact that Python also “supports multiple paradigms.” This means that you can create functional/imperative code that is read from top to bottom, making it much easier to get to grips with. It also makes Python very quick for developers that just want to make a quick app in a couple of lines to perform a useful job.

(Of course, it’s technically possible to write functional/imperative code in Java, but Python lends itself better to this type of code.)

Readability and White Space

This lack of forced-paradigm makes Python more beginner-friendly and flexible, but so too do many of the syntax decisions.

For example, Python encourages the use of lots of whitespace, doesn’t require semi-colons at the end of every statement. As a rule, Python also requires less boilerplate code as compared with Java (meaning that you can do more with fewer lines).

Python vs Java syntax

The semi-colon thing is big. In Java, you can write a beautiful program that is millions of lines long and have it not run because you forgot to include a semi-colon! No matter how experienced you are, this will always happen.

That said, while it might seem like a nuisance, restrictions like this do force you to write well-organized code and can avoid confusion down-the-line.

What’s more, is that other programming languages are similarly strict in terms of their grammar and structure. That means that Java will generally be better at preparing developers to work with other languages, such as the very-similar C#.

Also read: An introduction to C# for Android for beginners

Other differences are largely cosmetic: Python prefers snake_case for functions and variables (because snakes), whereas Java uses camelCase.

On the whole, a page of Python is much less daunting and reads a bit more like English. Java can be denser to wrap your head around, especially if you’re new to programming. But there is (usually) a method to the madness. (Sometimes literally.)

Static vs Dynamic

A key factor in the competition between Python vs Java, is that java is statically typed and Python is dynamically typed.

This means that when you declare a variable in Java – which is a word that represents a piece of data – you need to describe what kind of variable that is. It might be a “string” (a word or sentence), an integer (a whole number), or a float (a number with decimal places).

Python Code dynamically type

In Python, you don’t need to decide what type of variable you are using right away.

Likewise, function arguments can pass in any object. All this “Duck typing” makes Python very convenient and easy to use. However, this can occasionally make code a little more obtuse to the casual observer and may lead to errors, unless it has been properly commented.

Also read: How to comment in Python: Tips and best practices

Compiled vs Interpreted

Python is an “interpreted language.” That means you’ll install an interpreter on your machine that will read and understand Python code. It also means that for anyone else to use your code, they will likewise need an interpreter installed. You can’t easily build an executable file and then send it to your friends/buyers.

This is both a strength and a weakness of Python. It means that in order to build anything for commercial use, you will need to rely on external tools and fiddly processes.

However, it also means that Python is ideal for putting something together quickly for your own personal use. You can add Python to PATH or run Python apps straight from CMD/terminal without having to go through a lengthy compilation stage.

Java meanwhile is technically both interpreted and compiled. Java will be compiled first, but the target machine will need the JVM in order to run the code.

As such, Java code is typically more portable, but you may still need to go through a few steps to get it in a usable fashion. As is the case when building Android apps!

Also read: A guide to Android app development for complete beginners in 5 easy steps

What this does also mean though, is that Java code has the potential to run much faster, making it a better choice for more intensive operations.

Which is easier for beginners?

If the above didn’t make it clear, Python is generally much easier for beginners. Python is logical even for someone who doesn’t know what a “Class” is, and it has a clean and simple layout that gives you plenty of room to breathe.

Python is commonly used as a first programming language for teaching programming concepts, so it’s handy that it is also flexible enough to be useful outside of the classroom! In many ways, Python is the new BASIC. In terms of simplicity, Python vs Java is a no-brainer.

Learn Python 1

That said, the restrictions and complexities of Java aren’t just for fun. They can be useful for getting into good habits early on, and they may prepare a developer for the rest of their career.

At the end of the day, if you’re interest is in learning for learning’s sake, Python is the better place to start. But it’s going to depend on your end goal.

What are they used for?

Speaking of which, what might your end goal be when learning either of these languages?

As mentioned, Python’s “interpreted” nature means that it can’t easily be used to write commercial programs that you share and sell. It is slower than compiled languages, and it isn’t easily exported.

This means that Python generally isn’t used for mobile app development, game development, building desktop software, etc.

However, what Python is great for, is writing quick code that performs useful functions. This makes it a popular in-house tool among many security firms, data analytics companies, and the like.

Java is better than Python for building apps

The other common use for Python, is building web apps. Here, the Python code actually runs “server-side.” That means that it runs on the server that houses the files that comprise a website. Because Python is installed on the server, the user doesn’t need to worry about whether or not they have Python installed on their machine: they just see the output.

Therefore, Python powers many of the biggest brands on the web. These include: Instagram, Google, Spotify, Netflix, Dropbox, and many others.

Java meanwhile is used to develop a number of desktop and mobile applications. Java used to be the primary language used for Android development, until Google announced that Kotlin would be its top choice going forward. However, Java is still officially supported, and is still used by a large number of organizations.

Java is popular among big organizations in general, seeing as it is supported by a wide number of frameworks and libraries, is very fast, is very secure, and works across platforms. Java also has the advantage of having been around for a very long time – and big companies don’t like change!

Also read: Kotlin tutorial for Android for beginners: Build a simple quiz

Java is less commonly used for games. Other combinations such as C# with Unity, or C++ with Unreal Engine are more powerful and flexible in this scenario.

Python vs Java: Which is right for you?

Coding in Python and Java

So with that said, should you choose Python or Java to start coding?

If you’re looking to become a software developer working for a big company, if you want to make Android apps, or if you’re interested in learning more programming languages such as C#, then Java is a great choice. Be prepared for a steep learning curve though!

If you just want to learn about programming with a beginner-friendly language, then Python is ideal. Python is also a great choice if you’re interested in building web apps, working with tech start-ups, or have an interest in data science.

Want to give Python a try? Then why not check out our list of the best online Python courses. These will provide a complete education, and Android Authority readers will also get huge discounts!

How to support per-app language settings in your app – Discover

When you localize your app, people all over the world can view your content in the language they feel most comfortable reading. And with the latest versions of iOS and macOS, people can have even more control by choosing languages on a per-app basis. For example, someone may set their iPhone’s language to English, but want to use a social media app in Arabic.

Good news: If your project is built with iOS 13 or macOS Catalina and localized into more than one language, you won’t have to add any additional code to your app. Simply build and deploy your app to test.

Here’s how someone might check per-app language switching for a specific app, using AllTrails as an example.

  1. Open the Settings app.
  2. Navigate to AllTrails > Preferred Language > Language.
  3. Change the preferred language to Spanish.
  4. Launch AllTrails from your home screen (or from the App Switcher, if the app is already open).

Once someone has set their preferred languages for an app in Settings, it will then render accordingly in your app.

AllTrails will now render in Spanish, while the rest of the device continues to display the system language.

Restore your state after a change in the language setting

If someone decides mid-activity that they’d like to view your app in a different language, you can make the experience even smoother for them by restoring their previous state when they return. For example, say you’re living abroad and looking for food using a restaurant delivery app. By default, you use English, but might want to switch the app’s language when viewing a certain restaurant’s menu so that you can better understand its native dishes.

If that app supports state restoration, you can exit to the Settings app and return to the restaurant you were viewing — now in the new language. If not, you’ll have to start from the app’s main screen and find that restaurant again.

If your app supports scene-based state restoration, you can implement stateRestorationActivity(for scene) and return an NSUserActivity that encodes the scene state. (And if you still support view controller state restoration, you can enable state restoration on your app delegate.)

Learn more about implementing state restoration >

How to load custom content in the correct language

If you need to load content from other sources, such as a server, you can do so and ensure that you match the app’s language with a few bundle APIs.

Bundle.main.preferredLocalizations.first will get the system’s current language in priority order.

If you need to check against a custom set of available languages (say, from a server or other source), you can do so with a simple modification to the previous API call. First, find out what available languages there are:

let availableLanguages = Server.requestAvailableLanguages()

Then, use the preferredLocalization API with those languages:

Bundle.preferredLocalizations(from: availableLanguages).first.

If it’s not possible to have ongoing communication with the server due to connectivity or other constraints, you can also send the output of Bundle.main.preferredLocalizations.first to the server; that way, it will know which language the app has been launched in and deliver content accordingly.

How to transition away from a custom language selector in your app

With systemwide support for in-app language selectors, you no longer need to provide a way to select languages within your app if you support iOS 13 or macOS Catalina or later. If you currently offer such a UI, you should remove it to avoid customer confusion and potential conflict with the system.

If you’d like to guide people to the system settings for language selection, you can replace your app’s custom UI with a flow that launches directly into the Settings app on iOS.

On iOS, add the following: UIApplication.openSettingsURLString)!)

On macOS, direct people to System Preferences > Language & Region to add a per-language setting for your app.


Watch “Creating Great Localized Experiences with Xcode 11” >

Learn more about expanding your app to new markets >

Get more resources for localization >

Is Golang is the new programming language in town?

Will Golang replace Java as the top choice for Android app development? Will apps like Slotocash Casino mobile app benefit from using Golang in the future?

Is a new programming language needed?

With so many programming languages already in existence, is another programming language needed? In 1973, the C Programming Language became powerful with the introduction of structs. Ten years later, in 1983 C++ came onto the market (C with classes).

The C Programming Language is an excellent programming language when speed and memory usage are a top priority. But both C and C++ were developed at a time before Unicode. And since direct memory manipulation is a major feature of the language, trying to use Unicode in C applications becomes complicated.

The C Programming Language was designed when all characters of all languages fit into 1 byte. A Unicode character can be stored in 1 byte, 2 bytes, or 4 bytes.

On the other end of the spectrum are interpreted languages. Bash, Perl, Python, and PHP are all well known interpreted languages. The code is compiled while it is run. The benefit is that it is not machine-dependent. The downside is speed. So the programming is trading ease for speed.

What about Golang?

Many new programmers ask the question, “What is the best programming language?” or “Which programming language should I learn?” That would be the same as going into Home Depot and asking the store manager, “What is the best tool?” The answer is, “It depends on what you are trying to do.”

Google processes a lot of data. Some are preprocessed and stored in databases. While other data is processed on an as-needed basis. This data comes from all over the world and uses Unicode characters, not ASCII characters.

The designers of Go call Go “what C should have been”, and this can definitely be seen with how Golang handles Unicode characters.

When specifically talking about Unicode characters, they are called “runes”. When talking about ASCII characters, they are called “bytes”. An “Array of bytes” are called “slice of bytes”. An “array of runes” is a “slice of runes”.

When talking about arrays, it is a data type that has overhead connected with it. The same is true with strings. A string in Golang is an advanced data type. It is not the same as a “slice of bytes” which deals directly with the actual memory.

For an experienced programmer just learning Golang, it is a different way of thinking about characters, but when it comes to actually programming with data that is Unicode intensive (for example, Hebrew and Arabic), Golang is a pleasure to work with.

Golang and concurrency

The Go language has built-in facilities, as well as library support, for writing concurrent programs. Concurrency refers not only to CPU parallelism but also to asynchrony: letting slow operations like a database or network-read run while the program does other work, as is common in event-based servers.

The primary concurrency construct is the goroutine, a type of light-weight process. A function call prefixed with the go keyword starts a function in a new goroutine. Current implementations multiplex a Go process’s goroutines onto a smaller set of operating system threads.

While a standard library package featuring most of the classical concurrency control structures (mutex locks, etc.) is available, idiomatic concurrent programs instead prefer channels, which provide send messages between goroutines. Optional buffers store messages in FIFO order and allow sending goroutines to proceed before their messages are received.

Unlike previous concurrent programming languages, Go does not provide any built-in notion of safe or verifiable concurrency. While the communicating-processes model is favored in Go, it is not the only one: all goroutines in a program share a single address space. This means that mutable objects and pointers can be shared between goroutines.

Let’s look at our original example of a Casino. Let’s say it is a very popular casino website, and it gets thousands of visitors an hour. If the program ran in a queue, the first person in line would get to play the game, and when they were finished, the next person in line can play the game. And the queue would run accordingly.

But with concurrency, Golang becomes a gatekeeper to other Golang programs (sub-processes). The first in line tells the gatekeeper what they want to play, and then Golang sends the player off on a new process.

That process does not need to finish before the next customer that wants to play a game puts in their request. Because each game is a separate process, it does not matter how long or how short the game is being played, or how simple or how complex the game is.

Okay, the casino example may not be the best, because a large portion of the casino code is with the user interface (HTML and JavaScript), not server code (Golang).

But you get the idea.

When words aren’t enough, teachers find a common language with iPad

At College Daniel Argote in Pau, France, students are sent home with a video lesson recorded by their teacher on their iPad, and the next day work through their “homework” in class. This way, students whose parents aren’t fluent in French are able to extend their learning both inside and outside the classroom.

At Stenkulaskolan School in Malmo, Sweden, where 98 percent of students speak Swedish as a second language, teachers have seen an 80 percent jump in math grades since they started sending home similar instructional videos, recorded by a teacher in Swedish.

And at St. Cyres School in Penarth, Wales, the 2018 senior class of English as an Additional Language students working with iPad increased their grades by an average of 3.8 points during the year — outperforming their peers who speak English or Welsh as their native language for the third year in a row.

In May, Apple announced that Malala Fund was joining its partnership with vocational school Simplon to teach the coding language of Swift to underserved groups in France, with a new focus on refugee and displaced young women. Apple’s Everyone Can Code curriculum will help them gain the practical skills needed for a career in software development. Apple will provide funding for teacher recruitment and training, as well as devices including iPad.