iPhone VoiceOver-compatible Compilers for EXPERT Developers
Hello World! As a Computer Programmer since September 1982 that is now totally blind since December 2017, I'm now advocating the accessibility of compilers for the computer programming languages that I currently or still know, or I'm self-learning. I am now in E-Mail correspondence with the iOS developer of the compilers I am using on my 90+ day-old iPhone 6S+! This post is for EXPERT coders!
My method of Computer Programming is "old school" as I belong to Generation X. I am used to writing source code in a simple text editor; that is just a SIMPLE text entry box without any bells & whistles. I don't use auto-indents nor automatic bracket completion. I dislike keyword suggestions, too! All of those "helpers" are merely distractions to me, so I routinely disable them in IDEs or integrated development environments, because I am NOT a beginner at software development, despite I'm now blind.
Please note that the online compilers I am using on my iPhone will NOT make an iOS app! That is why I did NOT select the "app" nor "development" sub-categories. Also, these compilers are "online", meaning your iPhone must be connected to the Internet to Run (compile, link & execute) your source code.
The iOS developer I'm consulting with, is KappSmart or KappSmart.com. The online compilers I'm using are Sedona Swift, C/C++, VisualBASIC .net & BASIC. I made the in-app purchases to remove ads and support ongoing development at the same time. This app developer is also making their online compilers for Android in the Google Play Store.
Due to blindness, my Computer Programming Life went from "active" to "passive & casual". These online compilers will only compile code snippets, great for engaging into computer programming after blindness, without the pressure of making full-blown apps!
As an experienced computer programmer, I typically spend most my programming time in making code snippets, and mastering them at different times. When I make a full-blown program, I typically have over a 1000 code snippets to choose from, to link together. Since this online compilers have an Export feature, I can E-Mail my source code files to a developer with Xcode on their MacBook (or similar hardware) to make the program for me. On my iPhone, once my code snippet is working to my satisfaction, I open the File menu and create a New file to play with.
Thanks for reading my latest post on AppleVis! Please follow my Twitter and/or WordPress posts; links are in my AppleVis profile. Have a Great Day, Everybody!
Are you for real? Programming but without making a full blown app? Hey, I’m going to build a house by parts and let someone else do all the hard work because i’m a poor lind guy and I don’t feel like learning XCode or getting a macbook. Come on dude. I didn’t miss the fact that you have to include the words “expert programmer” in most of your paragraphs. Fah. It’s people like you that make others not take blind people seriously.
Marcos has been blind for 1.5 years and lived with site for at least 30 years before that. I think it's impressive that he's able to adapt enough after losing his vision to want to continue programming. It's also a good sign that he has learned enough in less then two years to be posting on this website. Not everyone can afford to spend more then $1000 on a macbook. I bought one and it was a waste of money because xcode was inaccessible when it came to creating UI for iOS apps. I believe Marcos lives in the Philippines. I'm not sure if you are aware of this but tje Philippines does not have the same standard of living as America so it's possible he can't afford a Mac. If you think everyone should magically figure out how to be a successful blind person and live up to your standards less then two years after losing there vision your entitled to that opinion. I don't agree with it though.
That changes things slightly, however the point still stands:
His blind entitlement attitude, oh I want to make a program but I'm just going to create snippets and let someone else do the work... Well, let's just say it doesn't give him much credibility. He can state that he is an experienced programmer as many times as he likes, but if he is just providing snippets and not making the program itself, he is not a real programmer. Much of programming comes from problem solving, testing your own code, figuring out what's wrong... By letting other people put these snippets into play, he is essentially letting the other programmer link them together and figuring out how to solve any issues that his code snippets may have.
I don't know, this whole topic just stinks in general. do you know how hard it is to get a job when you're blind' If we get people wining like this guy and don't speak up, sighted people are never going to change their mind about people being able to do things. If a sighted company manager reads Marco's post and sees no contradicting points of view, they are going to go ahead and think that blind people can't program for themselves. I hope you realize how much of a problem this is, and look at the bigger picture of things before you say that it's me giving a bad name.
I have been jobless for over a year now, because people want to interview me until they see that I'm blind and suddenly everyone thinks we can't use cmputers. Do you realize how frustrating it is when you see a post from someone claiming that the only way they can code is by sending other devs their code snippets?
If the post had been better formated, and not focused solely on the fact that he uses parts of code and sends them to devs, it wouldn't be as bad as it is.
First of all, congratulations for coming to terms with technology and your blindness for the past two years, I am sure it has been definitely challenging.
having said that, I do have the feeling that despite the fact that you state that you are an expert programmer, from what you wrote, it does not seem like you give good reasons as of to why you regard yourself as one.
Even if you write code since 1982, it is by no means going to make you an expert. Experienced, maybe, but definitely not an expert.
Due to the various scenarios that you are presented with during your programmer career, the sad truth is that more than half of your time is going to be spent on rewriting and refining what you wrote. Technology changes every day, new things come and go, and part of the challenge is keeping up with what stays. That, obviously, requires good decision making skills, problem solving, debugging, and a host of other skills that are essential in becoming an expert programmer. Snippets make life easier in certain situations, however, 90% of the time, you would end up spending precious time on refining your snippets to match product needs, thus it is a lot more economical to just rewrite from scratch at that point.
You mention that you like programming in just a simple text file. For some languages, this is very nice, but most of the time, it is not going to work. For one, splitting up your code into multiple files is always a good idea, because eventually, your project is going to become ridiculously huge and disorganized otherwise.
It is not by accident that modern compilers enforce this paradigm. Because of the complexity of what you need to manage, for example story boards in Xcode, managing it and writing it by hand would be a nightmare.
Console-based programming has been largely phased out in favor of user interfaces, which are way more complex than just printing characters or positioning the cursor.
I do not know what you know, and at this point I do not wish to make assumptions, but please be careful when throwing around words like "expert."
Auto completion, function parameter suggestions, brace matching as well as auto indentation are features that will save an enormous amount of time, and trust me, if you are on a deadline, every second matters, because you don't need to open up a different text file to check what exact parameters you need, the IDE will automatically give you hints.
This does not matter much if you are working on a few hundred lines of code at a time, however, it will when you are expected to go through thousands of lines, quite often code that is not yours.
Collaborative coding is a lot different, of course, but 99% of the time it is what is happening, even if you are just working on a hobby project on your GitHub page.
I am glad that you have found a way to make programming work for you, but I would like to emphasize that this is by no means the norm among professional, expert, blind programmers.
from me, as well, I'm happy that you've found ways to make things work for you. However, I do have a few observations.
While online compilers are great to test things out, in general, iOS is not a very good operating system for development. It is very locked down, and does not allow you to do most things that you would need to develop an application efficiently. A way to get around this is to rent a VPS or other server, use a mosh-capable terminal like Blink, and develop entirely in the terminal using editors like Vim. However, this limits you in terms of what applications you can create to mainly web applications. It is not possible to develop iOS apps on iOS itself, neither is it possible to submit those apps to any app store. You could rent a Mac in the cloud, however if you plan to do this a lot, getting an actual Mac, like a Mac Mini, might be a better idea in this case. The unix philosophy only works so well, tiny programs that do one thing and one thing well, but iOS does not work that way. Every app is sandboxed, and having an user interface of any kind is a requirement to get your app submitted in the app store, which is really the only way you're going to be able to distribute your application on iOS devices.
So never stop familiarizing yourself with new tools. Eventually you do might want to move on to MacOS, if iOS apps are something you'd want to create. but take your time, I'm sure it's a lot to take in at first.
Sorry to be so negative about this, but the idea I suppose is to be as independent as possible. It's really hard to develop an app using Apple's tools just purely from snippets, as you still have to have the developer assembling the app create the story boards and the user interfaces, then the app needs to be signed which would then also have to be done by the foreign developer using your keys, and that's something you don't want I'm pretty sure, then your account to publish the app to the app store. Then your app will go through reviews, it will probably fail as many apps do, you will have to change a thing and resubmit, and that starts the dance all over again.
It's certainly not easy, and the main reason I don't directly develop native apps and try to stick to a more cross-platform method. People might not agree with my choices, but seeing as I develop apps alongside work as a hobby, I'd rather not have to deal with these kinds of things, but YMMV.
Anyway, don't give up. It's a cruel world out there but it definitely can be conquered. Just keep an open mind, an open heart and a positive spirit. And never stop learning. :)