Hello??? Then why list them if they are so easy and done before???
Because Altium can do all 4 without problems. Anything that doesn't surpass Altium in its PCB / schematics capabilities is TOTAL AND UTTER CRAP
If you are going to design a kick-ass SCH/PCB tool : there is your gold reference. Make sure it can do all those things and then improve it.
Those 4 things are the BARE minimum. If you can't meet all 4 don't even begin writing code... as you have no clue about the problems involved in designing a PCB.
This is the huge problem to be solved and the big mistake made by people that work in tools like KiCad and gEda ans all those other mediocre tools. They have NO CLUE what are the problems faced in designing , i am stressing DESIGNING , drawing lines to make interconnects is only a VERY SMALL aspect of the actual DESIGN process , a PCB. They may be super duper programmers but have never gone through the pain of having to do proper layout work on a PCB with a half finished schematic, pinswaps, partswaps, footprint swaps, part insertion and deletion mid design. They don;t understand how tedious things get. how a lot of things are done post-layou like injecting ESD and EMC control structures which may requires shuffling traces. How a plane can look post-routing like it has been pummeled by several rounds of a shotgun using coarse grains. That plane will need reconstruction which will involve Via shuffling.
And those are the areas where REALTIME DRV and LVS and crossprobing and having an interactive router are MANDATORY.
If you think all that is needed is a to kludge together a vector drawing program with some layers. -FAIL-
Besides. What would you run them on ? Workstation ? those have gone the way of the wind. long time a go. An avarage PC beats workstation.
Talk about having no clue...
As for my programming skills. They may be mediocre compared to those of professional programmers but i have written boot code that sits in almost any ADSL modem in the world. And i have code that sits in hard disks as well. And that is code that sits in ROM and can't be altered... not that stupid stuff where 'if its got a bug we'll upload a patch. There is no such thing as 'patching' that code. So i think i do pretty well in that domain.